匹配前 3 个字符的特定字符串和第 4 个字符的任意位置的特定字符串
Match specific string from the first 3 characters and specific string anywhere from the 4th characters
问题
如果前 3 个字符是 YZA
、YZB
和 YZB
,而另一个字符串是位于前 3 个字符之后的任何位置的 NUM12345
,我想捕获该字符串。
正则表达式 我使用的是与上述格式不匹配的字符串:
^YZ[ABC]\sNUM12345
示例行如下:
YZC/GH/A1/M,KNUM12345
YZB/M,SD-GG,K*NUM12345/A2
YZA/A1/M,SD-GG,KNUM12345/A2
YZB/M,SD-GG,K*NUM12345/A2/AA
YZA/A1/M,SD-GG,KNUM12345/A2/A2A
YZW/GH/A1/M,KNUM12345
YZR/M,SD-GG,K*NUM12345/A2
YZS/A1/M,SD-GG,KNUM12345/A2
YZT/M,SD-GG,K*NUM12345/A2/AA
YZJ/A1/M,SD-GG,KNUM12345/A2/A2A
我要匹配的行:
YZC/GH/A1/M,KNUM12345
YZB/M,SD-GG,K*NUM12345/A2
YZA/A1/M,SD-GG,KNUM12345/A2
YZB/M,SD-GG,K*NUM12345/A2/AA
YZA/A1/M,SD-GG,KNUM12345/A2/A2A
有人可以帮助更正下面的模式吗?
您可以使用
^YZ[ABC].*NUM12345.*
查看正则表达式演示:
如果你想删除除符合上述模式的行以外的所有行,你可以使用
^(?!YZ[ABC].*NUM12345).*\R*
查看正则表达式演示:
详情:
^YZ[ABC].*NUM12345.*
- 字符串的开头,YZ
、A
/ B
或 C
,然后是任何零个或多个字符(换行符除外字符)尽可能多,NUM12345
然后任何零个或多个字符(换行符除外)尽可能多。
^(?!YZ[ABC].*NUM12345).*\R*
- 字符串的开头,然后是如果上述模式匹配则匹配失败的否定前瞻,然后是尽可能多的零个或多个字符(换行符除外),然后任何零个或多个换行符序列。
问题
如果前 3 个字符是 YZA
、YZB
和 YZB
,而另一个字符串是位于前 3 个字符之后的任何位置的 NUM12345
,我想捕获该字符串。
正则表达式 我使用的是与上述格式不匹配的字符串:
^YZ[ABC]\sNUM12345
示例行如下:
YZC/GH/A1/M,KNUM12345
YZB/M,SD-GG,K*NUM12345/A2
YZA/A1/M,SD-GG,KNUM12345/A2
YZB/M,SD-GG,K*NUM12345/A2/AA
YZA/A1/M,SD-GG,KNUM12345/A2/A2A
YZW/GH/A1/M,KNUM12345
YZR/M,SD-GG,K*NUM12345/A2
YZS/A1/M,SD-GG,KNUM12345/A2
YZT/M,SD-GG,K*NUM12345/A2/AA
YZJ/A1/M,SD-GG,KNUM12345/A2/A2A
我要匹配的行:
YZC/GH/A1/M,KNUM12345
YZB/M,SD-GG,K*NUM12345/A2
YZA/A1/M,SD-GG,KNUM12345/A2
YZB/M,SD-GG,K*NUM12345/A2/AA
YZA/A1/M,SD-GG,KNUM12345/A2/A2A
有人可以帮助更正下面的模式吗?
您可以使用
^YZ[ABC].*NUM12345.*
查看正则表达式演示:
如果你想删除除符合上述模式的行以外的所有行,你可以使用
^(?!YZ[ABC].*NUM12345).*\R*
查看正则表达式演示:
详情:
^YZ[ABC].*NUM12345.*
- 字符串的开头,YZ
、A
/B
或C
,然后是任何零个或多个字符(换行符除外字符)尽可能多,NUM12345
然后任何零个或多个字符(换行符除外)尽可能多。^(?!YZ[ABC].*NUM12345).*\R*
- 字符串的开头,然后是如果上述模式匹配则匹配失败的否定前瞻,然后是尽可能多的零个或多个字符(换行符除外),然后任何零个或多个换行符序列。