0

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

15,
15.

好像价值观一样

15,303(货币)
15.55(汇率)

应采取。

4

4 回答 4

1

这应该这样做:

/^\d+[,.]$/

你可以在这里玩。

于 2012-10-16T07:48:54.023 回答
0

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

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

该组捕获数字后跟.,不继续其他数字的位置。

于 2012-10-16T07:48:51.967 回答
0

\d+(\.|,)\d+因为你应该采取价值观

于 2012-10-16T07:50:32.783 回答
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']
于 2012-10-16T07:57:48.433 回答