我正在尝试在 java 中生成正则表达式以从字符串中解析金融实体。我需要以数字以“。”结尾的方式编写正则表达式。或“,”应删除,如
15,
15.
好像价值观一样
15,303(货币)
15.55(汇率)
应采取。
我正在尝试在 java 中生成正则表达式以从字符串中解析金融实体。我需要以数字以“。”结尾的方式编写正则表达式。或“,”应删除,如
15,
15.
好像价值观一样
15,303(货币)
15.55(汇率)
应采取。
您可能正在寻找类似的东西:
(\d+)[\.,][^\d]
该组捕获数字后跟.
或,
不继续其他数字的位置。
\d+(\.|,)\d+
因为你应该采取价值观
要删除此类数字(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']