正则表达式捕获所有内容(但不包括第一个空格和连字符)

时间:2017-06-07 12:53:03

标签: regex

这是我的样本字符串

Google Chrome-Helper -type=renderer -field-trial-handle=1

但我只想要Google Chrome-Helper

我尝试过:^.*[ ][-],但最后会捕获到最后一个参数。

Example Here

1 个答案:

答案 0 :(得分:1)

您需要使用延迟点匹配并使用捕获或前瞻:

^(.*?)\s+-

(您的值将在第1组中)或

^.*?(?=\s+-)

请参阅regex demo with capturingwith a lookahead

<强>详情:

  • ^ - 字符串锚的开始
  • .*? - 除了换行符之外的任何0 +字符,尽可能少(即后续尝试后续的子模式,跳过这一个,正则表达式引擎只有在找不到匹配项时才返回到此处)
  • (?=\s+-) - 一个积极的前瞻,需要1个以上的空格,然后是连字符。