我需要有关正则表达式的帮助。
RegEx应该匹配以下两种模式:
情况1: XT123456匹配时返回值= 123456
情况2: 匹配时为1234567,然后返回值= 1234567
其他值(12345,XT1234567,T123456等)应丢弃。
一些帮助将不胜感激,谢谢
此致
Manu
答案 0 :(得分:0)
首先应该分别使用两种模式。
这是我对第一种模式的表达:
(?<=XT)(\d{6}(?!\d))
这意味着您搜索的数字必须以“ XT”开头但不能捕获,并且不能以其他数字结尾,以将捕获的表达式限制为6位。
另一个模式的第二个表达式:
(?<!XT)(\d{7}(?!\d))
与第一个数字不同,我排除了以“ XT”文本开头的数字,并且不得以其他数字结尾以将限制保持在7位数字。
然后将两种模式结合在一起:
(?<=XT)(\d{6}(?!\d))|(?<!XT)(\d{7}(?!\d))
您可以在这里自己尝试:https://regex101.com/r/cbn4XJ/1/