RegEx:在字符串末尾找到前面带小数点的零

时间:2011-01-19 16:34:08

标签: regex coldfusion

  

可能重复:
  RegEx: Find zero at end of string

例如:

我想在32.20中找到0 我不想在320或302中找到0

谢谢!

2 个答案:

答案 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引擎,此语法可能有效,也可能无效: