Ruby 分别捕获标点符号的日语句子正则表达式

Ruby 分别捕获标点符号的日语句子正则表达式,ruby,regex,Ruby,Regex,我试图用正则表达式将日语文本块分割成单独的句子。现在我主要是在做实验,但这里是我到目前为止所做的 正则表达式:/(.*(.|?|!)/ 示例文本 強面のため周囲の人から敬遠されている主人公が、クラスメイトと共通の話題を持とうとVRMMORPGアナザーワールド」のベータテストに申し込んだ。ところが当選したのは彼一人。しかたなくひとりでゲーム内の仮想世界「イストピア」に「ケイオス」と名乗って乗り込んだが、そこはゲームでありながら五感すべてを体感でき、現実と間違えるほどのリアルな世界だった。サポート人

我试图用正则表达式将日语文本块分割成单独的句子。现在我主要是在做实验,但这里是我到目前为止所做的

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

示例文本

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

我得到的结果是正确的,但它也分别匹配标点符号

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

使用
(.*?[.?!])
似乎可以解决这个问题,请继续

这个怎么样

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

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