[英]C# Regex: only letters followed by an optional
我正在寻找一种使句子中的单词变得更简单的方法。 我对以下表达式表示满意:
\b([a-zA-Z]+?)\b
但是有些情况下,当我不想这么做时,它会算一个单词。 例如,一个单词后接一个以上的句点,例如“ text ..”。 因此,在我的正则表达式中,我希望句点在一个单词的结尾处为零或一次。 插入\\.?
并没有解决这个问题,在此方面也没有产生任何成果。
希望有人能帮忙!
单个点表示任何字符。 您必须将其转义为
\.?
也许您想要一个这样的表达式:
\w+\.?
要么
\p{L}+\.?
您需要添加\\.?
(而不是.?
),因为句点在正则表达式中具有特殊含义。
为了避免与示例“ test ..”相匹配,您不仅要求将\\.?
用于检查单词后的第一个字符是否为点,还可以进一步查看一个字符以检查单词后的第二个字符。
我确实得到了这样的\\w{2,}\\.?[^.]
您还应该考虑一个句子并不总是以.
结尾.
而且!
还是?
都一样
我通常使用rubulator.com快速测试正则表达式
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.