我认为这对很多人来说都是一件简单的事情,但目前我对正则表达式的了解非常有限。我想匹配字符串中除两位数之外的所有内容。
例如:
TEST22KLO4567
QE45C2C
LOP10G7G400
现在我找到了匹配两位数的正则表达式:
\d{2}
与以下内容匹配:
TEST22KLO4567
QE45C2C
LOP10G7G400
现在在我看来,将正则表达式翻转以匹配除“\d{2}”之外的所有内容是相当容易的。我搜索了很多,但似乎无法完成。我希望这里有人可以提供帮助。
仅当您的正则表达式引擎支持后视时,这才有效:
^.+?(?=\d{2})|(?<=\d{2}).+$
解释:
The |
区分这将匹配的两种情况:
这匹配从字符串开头开始的所有内容(^
) until \d{2}
遇到。
这与字符串的末尾(从两位数字之后的位置开始)匹配。
如果您的正则表达式引擎不支持向后查找(例如 JavaScript),我认为不可能使用纯正则表达式解决方案。
您可以匹配第一部分:
^.+?(?=\d{2})
然后获取匹配结束的位置,将该数字加 2,并从该索引中获取子字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)