使用正则表达式,如何匹配以一个.
结尾的字符串:
This is a string.
但不是以多个.
结尾的那些:
This is a string...
我有一个检测单个.
的正则表达式:
/[\.]{1}\z/
但我不希望它匹配以...
结尾的字符串。
答案 0 :(得分:4)
你想要的是一个'负面的背后'断言:
(?<!\.)\.\z
这会查找字符串末尾的句点,该句点不以句号开头。其他答案与以下字符串不匹配:"."
此外,您可能需要注意unicode省略号字符...
你可以这样检测:str =~ /\u{2026}/
答案 1 :(得分:2)
您可以使用:
[^\.][\.]\z
您正在寻找一个字符串,在最后一个点之前有一个不是点的字符。
答案 2 :(得分:0)