我在RegEx中不是很好,并说我正在编辑一个用PHP编写的网站。由于这个正则表达式,其中一个函数失败了:
preg_match("/^minus\((\-?[\d\.]+)\)$/i",$val,$m)
我知道它应该像minus()
,但它似乎找不到任何匹配,因为我无法弄清楚括号内需要什么。
答案 0 :(得分:4)
正则表达式是为了匹配这样的东西:
minus(0.12)
minus(-0.12)
minus(.12)
然而,这是不准确的,因为它也匹配:
minus(0.1.2)
正确的是:
/minus\(-?\d*(\.\d+)?\)/
您可以在此处进行测试:https://regex101.com/r/zN5xI8/1