2014-07-15 103 views
0

我想匹配像下面的模式的數量在任何位置的任何長數和小數點:基本上正則表達式來匹配

1.234 < x < 33.34 
14123 <= x < 55656 

,我想無論多久匹配任何標記,並且可選不管數字在哪裏,都是十進制的。我覺得<,<=很容易。但是,我無法弄清楚如何匹配數字。

這裏是我的正則表達式,只有匹配的標誌和 「X」:(<=?)x(<=?)

回答

1

沒關係,我得到了答案:

\d+(?:.\d+)?(<=?)x(<=?)\d+(?:.\d+)?

+0

試試這個'\ d +(?:\。\ d +)?(<=?)x(<=?)\ d +(?:\。\ d +)?' –

+0

我在你的正則表達式中發現了兩個錯誤。 1,不要在'.'之前使用'\ d *',因爲它匹配**零**或更多的數字。 2,'.'代表任何charcater而非文字。 –

+0

使用Avinash Raj的模式,因爲它允許'.'和其餘數字是可選的。即使沒有「。」,你的數字也需要額外的數字,這意味着單個數字的數字將無法匹配,例如, '1 nmclean