我有正则表达式来查找字符串中长度为6的字母数字。字符串如下所示:
PLT\n\nTRAVELLER NAME LIST\n\n TRAVELLER RECLOC COMPANY\n 1 TESTNUMBERFIVEQA/TESTN WL9795\n 2 TESTNUMBERONEYQWA/TEST RHFQCD\n 3 TESTNUMBERONEYQWAZZZ/T 1QZ1JF\n 4 TESTNUMBERONEYQWAZZZM/ N3BZW8\n 5 TESTNUMBERONEYQWAZZZMK 05RXPM\n 6 TESTNUMBERONEYQWAZZZMK 2XR9ZR\n 7 TESTNUMBERTHREEZZZ/TES 0Q14S4\n 8 TESTNUMBERTHREEZZZM/TE LRRKW3\n 9 TESTNUMBERTHREEZZZMK/T 949Z4T\n 10 TESTNUMBERTHREEZZZMKJ/ 51WFM2\n 11 TESTNUMBERTWOZZA/TESTN PRGWVT\n 12 TESTNUMBERTWOZZAZZZ/TE SM0BHS\n 13 TESTNUMBERTWOZZAZZZM/T QRJLH1\n 14 TESTNUMBERTWOZZAZZZMK/ R69NHV\n 15 TESTNUMBERTWOZZAZZZMKJ 67XKF7\n 16 TESTNUMBERTWOZZAZZZMKJ 68PV7P\n 17 TESTNUMBERTWOZZAZZZMKJ GCZZ0C\n)> 18 TESTNUMBERTWOZZAZZZMKJ MLMS3L\n 19 TESTNUMBERTWOZZAZZZMKJ 3R1S49\n 20 TESTNUMBERTWOZZAZZZMKJ WB700R\n 21 TESTNUMBERTWOZZAZZZMKJ 718KRC\n 22 TESTNUMBERTWOZZAZZZMKJ RTQH2H\n 23 TESTNUMBERTWOZZAZZZMKJ N2FLM6\n 24 TESTNUMBERTWOZZAZZZMKJ 40M1FR\n 25 TESTNUMBERTWOZZAZZZMKJ 71D3HF\n 26
我尝试过的正则表达式是这样的:
^{pr2}$但它并没有如预期的那样工作。有人能指出我可能犯了什么错误吗? 我要找的模式是像WL9795,RHFQCD等
谢谢
match
方法只检查字符串开头的匹配项。在改用
search
方法!在而且,
()
是不必要的。在如果代码中的
mainString
实际上是问题顶部的字符串,那么代码将无法正常工作,因为for
循环将遍历该字符串中的所有单个字符。在你可以用
regex前面的
r
确保\b
不被视为字符串转义序列。在\b
表示单词边界,并确保6个字符的字母数字前面或后面不跟单词字符。没有它们,第一个匹配项将是"TRAVELLER"
中的"TRAVEL"
。在如果要获得所有匹配项的列表,请使用},而不是{}。在
^{pr2}$findall
或{在我看来,你可能需要一些词的界限:
此正则表达式匹配正好是字符长度的字母数字模式。换句话说,它不匹配
"foobarbaz"
中的任何内容,但它将匹配"foobar."
中的foobar
相关问题 更多 >
编程相关推荐