答案 0 :(得分:1)
看起来你希望返回的匹配包含0,而不是'。',即使你想确保'。'在那儿。在这种情况下,您需要一个外观组:
(?<=\.\d*?)\d$
应该这样做,具体取决于你正在使用的正则表达式引擎。
Here's some reference info on lookarounds.
<强>更新强>
ColdFusion显然不支持lookbehind,但您可以使用Java的正则表达式引擎。使用我上面发布的模式,并查看 this S.O. question 的答案,了解如何应用Java正则表达式引擎。这应该可以解决问题。
注意:仔细检查\d
是否为数字字符的有效语法,或者您可以使用[0-9]
。此外,根据模式字符串的传递方式,您可能需要加倍反斜杠:
"(?<=\\.\\d*?)\\d$"
答案 1 :(得分:0)
简而言之,这几乎适用于所有RegEx实现:
[.].*0$
您可以使用Perl做得更好:
\.\d*?0$ # A decimal point, followed by some number of digits ending with a 0
...,但根据您的RegEx引擎,此语法可能有效,也可能无效: