3

我如何在下面提取粗体范围字符串

细绳 :

  1. 你好世界等等 -d blah vlaah -n blah vlahh
  2. 你好世界等等 -n blah vlahh -d blah vlaah
  3. 你好世界等等-d blaaah

我试过了。 -[dn] .*$但它找到了最长的匹配字符串,如下所示

  1. 你好世界等等-d blah vlaah -n blah vlahh

我想提取最短匹配字符串。提前致谢

4

2 回答 2

5

您可以使用否定前瞻来避免匹配匹配-d/-n中的另一个:

-[dn] (?!.*?-[dn]).*$

正则表达式演示

于 2015-07-21T17:11:45.373 回答
2

吃之前可以扔个贪心: .*

^.*(-[dn] .*)$

并抢夺第一组的比赛。请参阅regex101 中的测试

于 2015-07-21T17:30:41.683 回答