我试图在java中生成正则表达式来解析字符串中的金融实体。我需要以一种以“。”结尾的数字来编写正则表达式。或“,”应删除,如
15,
15.
其中像
这样的值15,303(货币)
15.55(率)
应该采取。
答案 0 :(得分:1)
答案 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']