Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
使用正则表达式,我如何匹配恰好以一个结尾的字符串.:
.
This is a string.
但不是那些以多个结尾的.:
This is a string...
我有一个检测单个的正则表达式.:
/[\.]{1}\z/
但我不希望它匹配以....
...
你想要的是一个“消极的后视”断言:
(?<!\.)\.\z
这会在字符串末尾查找一个没有句点的句点。其他答案与以下字符串不匹配:"."
"."
此外,您可能需要注意 unicode 省略号字符……您可以这样检测:str =~ /\u{2026}/
str =~ /\u{2026}/
您可以使用:
[^\.][\.]\z
您正在寻找一个字符串,在最后一个点之前有一个不是点的字符。
我非常喜欢正则表达式!
类似于 Dekel 的解决方案:
[^.]+[.]
现场演示