正则表达式检测字符串末尾的句点,但不检测“...”
Regex to detect period at end of string, but not '...'
使用正则表达式,我如何匹配恰好以一个 .
结尾的字符串:
This is a string.
但不是那些以多个 .
结尾的:
This is a string...
我有一个正则表达式可以检测单个 .
:
/[\.]{1}\z/
但我不希望它匹配以 ...
.
结尾的字符串
您可以使用:
[^\.][\.]\z
您正在查找在最后一个点之前有一个不是点的字符的字符串。
我非常喜欢 Regexr!
类似于Dekel的解决方案:
[^.]+[.]
你想要的是一个'negative lookbehind'断言:
(?<!\.)\.\z
这会在字符串末尾查找一个句点 ,它前面没有句点 。其他答案不会匹配以下字符串:"."
此外,您可能需要注意 unicode 省略号字符……
您可以这样检测:str =~ /\u{2026}/
使用正则表达式,我如何匹配恰好以一个 .
结尾的字符串:
This is a string.
但不是那些以多个 .
结尾的:
This is a string...
我有一个正则表达式可以检测单个 .
:
/[\.]{1}\z/
但我不希望它匹配以 ...
.
您可以使用:
[^\.][\.]\z
您正在查找在最后一个点之前有一个不是点的字符的字符串。
我非常喜欢 Regexr!
类似于Dekel的解决方案:
[^.]+[.]
你想要的是一个'negative lookbehind'断言:
(?<!\.)\.\z
这会在字符串末尾查找一个句点 ,它前面没有句点 。其他答案不会匹配以下字符串:"."
此外,您可能需要注意 unicode 省略号字符……
您可以这样检测:str =~ /\u{2026}/