2012-10-16 38 views
0

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

15,
15.

其中仿佛像

15303(货币)
15.55(率)

应该采取。

+1

ReGex在这里不需要。尝试搜索子字符串。 –

+1

你的“问题”不清楚。你想从字符串中删除以'。.'结尾的数字吗?还是想从字符串中提取一部分数字?你有什么尝试?提供一个示例字符串和您失败的代码。 – stema

+0

我将definitelly在这里使用正则表达式。它是关于分隔符后跟一个数字。 –

回答

1

这应做到:

/^\d+[,.]$/ 

你可以用它玩here

+0

谢谢你的工作! –

0

你可能会寻找类似:

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

当组捕获数字后面.,,不与其他数字仍在继续。

0

\d+(\.|,)\d+您应该采取价值观

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'] 
+0

非常感谢 –

相关问题