JS正则表达式匹配字符串中的所有单词

时间:2015-11-21 15:01:48

标签: javascript regex regex-group

实际上,我在Atom的语言支持(通过git)工作,我使用js正则表达式,但我必须了解更多。 我需要捕捉群组:

/exe c:\dos\main.cpc /l:check

我需要一个小组exe/,另一个小组c:\dos\main.cpc,另一个小组/l:,最后一个小组check

我已经尝试过了:

(exe/)([^=]+)(/l:)(.*)

但它不起作用。

你能帮助我吗?

2 个答案:

答案 0 :(得分:3)

你忘了逃避分隔符/

你的正则表达式应该是:

(exe\/)([^=]+)(\/l:)(.*)

我建议你在这个网站上测试你的正则表达式:https://regex101.com/

它将检查您的语法,并解释您在正则表达式中使用的每个元素;)

答案 1 :(得分:0)

你可以使用这个:

(.*?)\s+(.*?)\s+(.*?:)(.*)

这里is a regex test example

逻辑如下:

  • 第一组选择所有字符,直到第一个空白(排除在外)
  • 任何数量的空白字符都可以跟随,但不会被捕获
  • 第二组选择所有字符,直到下一个空白(排除在外)
  • 任何数量的空白字符都可以跟随,但不会被捕获
  • 第三组选择所有字符,直到并包括冒号
  • 第四组选择后面的所有字符。