我想匹配这个:
- 八 (8) 个字母数字字符
- 后跟 - 连字符
- 后跟二十二 (22) 个字母数字字符,这是我尝试过但不匹配的内容:
[8]\w+-[22]\w+
最佳答案
应该是:
\w{8}-\w{22}
[8]
匹配单个字符 - 文字 8 和 [22]
匹配一个文字 2。
请注意 \w
也允许下划线。如果这是一个问题,请使用
[a-zA-Z0-9]{8}-[a-zA-Z0-9]{22}
Tim 的一个好提示,如果你想从文件或字符串中捕获模式,你可能需要添加 \b
- 词边界,避免部分匹配。例如,如果您想要 2-4 格式 12-1234
,第一个父项将匹配 12
<强> 34-1234
567
:
\b\w{8}-\w{22}\b
关于regex - 正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3109605/