使用正则表达式删除以“,”或“。”结尾的数字。

时间:2012-10-16 07:41:16

标签: regex

我试图在java中生成正则表达式来解析字符串中的金融实体。我需要以一种以“。”结尾的数字来编写正则表达式。或“,”应删除,如

  

15,
  15.

其中像

这样的值
  

15,303(货币)
  15.55(率)

应该采取。

4 个答案:

答案 0 :(得分:1)

这应该这样做:

/^\d+[,.]$/

你可以玩它here

答案 1 :(得分:0)

你可能正在寻找类似的东西:

(\d+)[\.,][^\d]

组中的数字后跟.,,而不是其他数字。

答案 2 :(得分:0)

\d+(\.|,)\d+为您提供值

答案 3 :(得分:0)

要删除这些数字(Python中的示例,但几乎可以在任何正则表达式中使用):

>>> import re
>>> regex = re.compile(r"\d+[.,](?!\d)")
>>> regex.sub("", "15 15,0 15, 15. 15.0 15")
'15 15,0   15.0 15'

仅查找“正确”数字:

>>> regex = re.compile(r"\d+(?:[.,]\d+)?(?![\d.,])\b")
>>> regex.findall("15 15,0 15, 15. 15.0 15")
['15', '15,0', '15.0', '15']