我有一个Regex,用于识别牙齿,它如下所示:
/((U|L)(R|L)[0-8a-eA-E](\s|\/|-|_)?((M|O|D|I|B|P|L)+)?)/gi它应该(并且确实)匹配以下内容:
UR7
UR7模块
UR5-国防部
问题是,最后一部分( UR和数字之后)是可选的,因此可能没有输入它们,这很好,但不幸的是,可选空间仍然匹配,例如:
UR7 (请注意UR7后的空间)匹配空间。
我想出两种方法来解决这个问题:
有人能帮我做到这一点吗?
因此,所希望的行为是所有上述匹配都匹配,但是对于一个具有空格的UR7,只匹配UR7,而不匹配空间!
非常感谢!
发布于 2015-12-13 14:49:22
标记分隔符为容忍,只有当它后面有更多的东西。
我还对单个字符使用字符类进行了重构,因为这通常更有效。
/[UL][RL][0-8a-eA-E]((\s|[-\/_])?[MODIBPL]+)?/gihttps://stackoverflow.com/questions/34251922
复制相似问题