我有一个很长的正则表达式,包含(?:\S+ ){0,4}
那应该匹配:(它已经正确地做到了)
2 Terry White
Tramal 100
Asmol 2.5
2.5%
或任何匹配的东西,除了一个小数或价格。
它不应该匹配:(我不知道如何处理这个异常)
870
6.75
$17.60
这甚至可能吗?
谢谢各位的意见。仅供那些好奇的人参考,这里是它使用的最短的“长正则表达式”之一(你可以在最后找到它)
^ {0,5}(\d{4}[A-Z]) +((?:\S+ )+(?: {0,10}K\+)?) *(\.\.|\d+) +(?:[A-Z#\*] *)?(\.\.|\d+(?:\.\d{1,4})?) +(?:[ab] *)?((?:\S+ ){0,4}) *([A-Z]{2}) {0,10}$