如何找到确切的数字组?

时间:2016-07-13 12:44:13

标签: regex

所以我有一个文字 Server Version: Apache/2.4.6 (Red Hat Enterprise Linux) PHP/5.4.16 并希望找到2.4.6和5.4.16 可能有更多(2.4或5.4.12.16)等等。但我不想要任何.12或9999.1111找到

到目前为止,我的尝试看起来像这样:

/([\d{1,2}\.]{2,})/g

您还可以在此处看到它:https://regex101.com/r/hV0hN0/1

它不起作用。

4 个答案:

答案 0 :(得分:1)

尝试

(?<!\.)\b(\d+(?:\.\d{1,2})+)\b(?!=\.)

它会检查\b前面的单词边界. 。然后是数字,然后是至少一个.和1-2位数字。最后确认跟随.

Your regex modified

答案 1 :(得分:0)

也许 (?<!\d)\d{1,2}([\.]\d{1,2})+ 总是从你的正则表达式。

答案 2 :(得分:0)

试试这个:

;A;B;C;D
2013-01-01;-0,157833276159;1,71955439009;0,564592278787;-0,228870244247
2013-01-02;-0,316599953358;1,54576303958;-0,206499307398;0,793411528039
2013-01-03;1,90580284184;1,17280324924;0,744010110291;1,56330623177
2013-01-04;-0,142676406494;-0,36254842687;-0,554799190671;-0,0864039782679
2013-01-05;1,70824597265;-0,50594004498;-1,13542154086;0,810446051841
2013-01-06;-0,150899136973;0,794214730009;-0,628902891897;0,598573645748

答案 3 :(得分:0)

您的想法:

^\d(\.\d{1,2})+$

这是一个简短的版本。 火柴: 2.4.6和5.4.12.16但不匹配.12和9999.1111