正则表达式匹配字符

时间:2014-03-12 04:44:33

标签: regex

希望匹配字符串必须包含在其中的WS-810-REFERENCE-1

并且想不出能够完美运作的东西 [a-zA-Z0-9\-]+

这将匹配,但也会匹配没有 - 字符

的单词

想到这个([a-zA-Z0-9\-]+\-)+ 但这将与WS-810-REFERENCE相匹配 - 缺少最后一段。

思想?

2 个答案:

答案 0 :(得分:0)

我相信你正在寻找前瞻以确保字符串中存在连字符。您可以使用:

\b(?=\w*?-)[a-zA-Z0-9-]+(?= |$)

在线演示:http://regex101.com/r/pZ6hV6

答案 1 :(得分:0)

使用第二次尝试的修改版本只是为了获取额外缺失的部分 ((?:[a-zA-Z0-9]+\-)+[a-zA-Z0-9]+)