regex - 正则表达式模式

标签 regex

我想匹配这个:

  • 八 (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/

相关文章:

java - 在 Java 正则表达式中获取多个模式的重叠匹配

java将字符串与变量名匹配并传递变量的值

Javascript 正则表达式挂起(使用 v8)

Java字符串用正则表达式分割

r - 如何用R删除括号内的 "p.485"?

javascript - 正则表达式查找与两个字符串匹配的模式,两个字符串之间的空格数为 'x'

c# - 正则表达式题: Until next match OR End Of Document

正则表达式负范围算法

php - 正则表达式的工作方式不同

java - 字符串替换最后的所有特殊字符