2

我正在尝试使用正则表达式将日语文本块分成单独的句子。现在我主要在rubular上进行试验,但这是我目前所拥有的。

正则表达式:/(.*?(。|?|!))/

示例文本

强面ための敬远敬远さてて主人公がとととメイトクラスクラスクラス通通通通ののの话题话题持とう持とう持とう持とう持とう持とうをををををををををををアナザーアナザーアナザーアナザーワールド」ののベータににに。。。。。。。世界「にケイオス」と名乘って乘り込んだがそこはゲームゲームゲームでありでありながらながらながら五五感感を体感体感体感できできでき,,,,现実现実とと间间间违える违える违えるほどほどほどほどほどリアルリアル世界ていっ,実はそこ本物の异世界「イストピア,ケイオスケイオスケイオスのこなしこなしたたたクエストクエストによって,,多くのの人人影响ををててててててにあった笔入れはどこにやったの?</p>

我得到的结果是正确的,但是它也单独匹配标点符号火柴

如何改进我的正则表达式,使标点符号不单独匹配?

4

2 回答 2

3

使用(.*?[。?!])似乎可以解决问题,检查rubular

Match 1
1.  強面のため周囲の人から敬遠されている主人公が、クラスメイトと共通の話題を持とうとVRMMORPG「アナザーワールド」のベータテストに申し込んだ。
Match 2
1.  ところが当選したのは彼一人。
Match 3
1.  しかたなくひとりでゲーム内の仮想世界「イストピア」に「ケイオス」と名乗って乗り込んだが、そこはゲームでありながら五感すべてを体感でき、現実と間違えるほどのリアルな世界だった。
Match 4
1.  サポートAIのテミスの協力を得つつ、クエストをこなしていったが、実はそこは本物の異世界「イストピア」であり、ケイオスのこなしたクエストによって、多くの人が影響を受けて……というお話。
Match 5
1.  その戯言、聞き飽きたわ!
Match 6
1.  あれ、ここにあった筆入れはどこにやったの?
于 2013-10-17T21:37:32.327 回答
0

那这个呢?

str.scan /[\p{Han}\p{Katakana}\p{Hiragana}\p{Hangul}[[:punct:]]]+/
=> ["強面のため周囲の人から敬遠されている主人公が、クラスメイトと共通の話題を持とうと",
 "「アナザ",
 "ワ",
 "ルド」のベ",
 "タテストに申し込んだ。ところが当選したのは彼一人。しかたなくひとりでゲ",
 "ム内の仮想世界「イストピア」に「ケイオス」と名乗って乗り込んだが、そこはゲ",
 "ムでありながら五感すべてを体感でき、現実と間違えるほどのリアルな世界だった。サポ",
 "ト",
 "のテミスの協力を得つつ、クエストをこなしていったが、実はそこは本物の異世界「イストピア」であり、ケイオス    のこなしたクエストによって、多くの人が影響を受けて……というお話。その戯言、聞き飽きたわ!あれ、ここにあった筆入れはどこにやったの?"]

http://rubular.com/r/8CtYuV8AAl

于 2013-10-17T21:40:16.927 回答