RegEx:在第一个破折号之前抓取值,在第二个破折号之后抓取任何值

时间:2015-12-15 14:46:03

标签: regex

我有这样的价值:

cal-hinderson-sin-trl
tn-hiker-tim-gies

什么正则表达式将返回第一个和第二个破折号中包含的值(例如hinderson和任何其他值)?

更多例子

he-tacks limb-exsf-as

在这种情况下,我正在寻找“大头钉”。

ntf-browndog-as-idk

在这种情况下,我正在寻找“browndog”

2 个答案:

答案 0 :(得分:0)

考虑到它是字符串中的第一个匹配,如果你可以使用环视,你应该能够简单地使用这个正则表达式。

(?<=-)\w+(?=-)

或者,不那么漂亮:

^\w+-(\w+)-.*$

最后一个确保只有一个单词字符序列,后跟一个破折号,然后是你要捕获的组。

答案 1 :(得分:0)

第一个和第二个组的值包含在第一个和第二个破折号中:

\w+-(\w+)-(\w+)-\w+