regex 正则表达式只匹配字符串中的6个字母数字单词

23c0lvtd  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(103)

我正试图匹配的6个字符的单词,有一个组合,只有字母数字。
示例字符串:

Bus Express Wash at bay no 083457 - Truckno AB96CD & Truck no 12367S & 12368S

我正在尝试regex [a-zA-Z0-9]{6}
但是,它匹配下面的输出:

xpress
083457
ruckno
AB96CD
12367S
12368S

但是,我需要的只是字母数字的组合。比如下面的期望输出

AB96CD
12367S
12368S
0aydgbwb

0aydgbwb1#

你可以使用这个正则表达式和两个lookahead条件:

\b(?=[a-zA-Z]*\d)(?=\d*[a-zA-Z])[a-zA-Z\d]{6}\b

RegEx Demo

RegEx详情:

  • \b:字边界
  • (?=[a-zA-Z]*\d):LookaheadAssert我们在0个或多个字母后至少有一个数字
  • (?=\d*[a-zA-Z]):LookaheadAssert我们在0或多个数字后至少有一个字母
  • [a-zA-Z\d]{6}:匹配6个字母数字字符
  • \b:字边界

相关问题