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

JS regex match all words in a string

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

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

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

我已经试过了:

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

但是没有用。

你能帮帮我吗?

您忘记转义定界符 /

你的正则表达式应该是:

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

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

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

你可以使用这个:

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

这里 is a regex test example 个。

逻辑如下:

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