【问题标题】:Regex validation of string, dash and closing string字符串、破折号和结束字符串的正则表达式验证
【发布时间】:2020-03-17 03:01:51
【问题描述】:

我尝试了几种模式并摆弄了Capture word between optional hyphens regex的一些模式, Regular Expressions: How to find dashes between words, What's the difference between "(\w){3}" and "(\w{3})" in regex? 并阅读 Reference - What does this regex mean?

到目前为止,我最好的尝试是: (\w{3}\-)

有测试数据:

周四-abs-sss-ddd

012-aa-aaa-aaa

哪个匹配:


尽管我想实现的是针对以下内容的精确模式验证: XXX-XXX-XXX-XXX,其中 XXX 是 3 个字母数字,连字符重复 3 次,并以另一个 XXX 字母数字结尾。

我也尝试过使用(\w{3}\-)(\w{3}) 但结果是:


我缺少什么来完成模式?

【问题讨论】:

  • ^\w{3}(?:-\w{3}){3}$。将组量化到接近模式的末尾,这是最佳实践。 ^ 匹配字符串的开头,$ 匹配字符串的结尾,如有必要,请使用这些锚。

标签: javascript jquery regex


【解决方案1】:

你需要重复\w{3}-组3次:

(?:\w{3}-){3}\w{3}

(请注意,- 不需要转义,除非您确实需要捕获,否则您应该使用非捕获组)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    • 2018-10-10
    • 2012-08-23
    • 1970-01-01
    • 2017-08-29
    • 2016-09-07
    相关资源
    最近更新 更多