正则表达式将5.55FIX除以5.55和FIX

时间:2009-09-21 11:54:44

标签: regex

我需要解析一个具有条目5.55FIX,5.55变量,5.55Float的字符串。我需要提取十进制值和字符串作为单独的。请提出建议?

2 个答案:

答案 0 :(得分:2)

根据您将使用正则表达式的位置,其中一个肯定会完成这项工作。 组1将包含数字,组2将包含该字符串。当然这是假设字符串永远不会以数字开头,并且实际数字之间没有空格(在这种情况下,除非他知道数字的值或字符串的值,否则它甚至不能被人分开。前进)。


(\d+\.\d+)\W*(\w+)
(\d+\.\d+)\p{Z}*(\w+)

根据Drew Noakes的建议,如果你只关心小数部分,你也可以使用其中一个:


\d+(\.\d+)\W*(\w+)
\d+(\.\d+)\p{Z}*(\w+)

正如大卫安德烈斯所建议的那样,你可以通过在开头添加^来改进表达式,如果你打算在你的帖子中说明的方式使用正则字符串,那么你可以在结尾添加$。这意味着使用这两个字符,“5.55FIX”将匹配,但“Value:5.55FIX”将不匹配。

答案 1 :(得分:0)

适合您确切问题的另一种解决方案是......

^(5\.55)(FIX)$