.NET Regex在句子结尾处完全停止

时间:2014-01-29 12:21:52

标签: .net regex

我希望在一段文字中的每个句子末尾匹配句号。

在游戏停止前必须至少有3个单词(。)

这是为了确保只计算句子结尾的句号。 Microsoft v 3.2.1中的句点被跳过!请注意,单词可能不一定包含拉丁字符。我打算用其他语言,所以我们不能在这里使用[a-Z]!

我尝试了什么\b.+\b\s+\b.+\b\s+\b.+\b[.] 但这选择了整个句子!

可能有人可以使用if else构造吗?如果找到\b.+\b\s+\b.+\b\s+\b.+\b[.],请选择点,否则请选择。有可能吗?

1 个答案:

答案 0 :(得分:1)

确定。这是一个很好的选择:

(?:(?:\s|^|\.)[^\s\d.]+){3}(\.)

Expl。:(非捕获)找到一个空格,句号或行首,后跟任何数字(至少一个)不是空格,数字或句号的字符。重复这3次。然后抓住一个句号:D Done!

查看here

此致