2015-11-21 3 views
1

На самом деле, я работаю в поддержку языка Atom (по git), и я использую js regex, но я должен узнать больше об этом. мне нужно, чтобы захватить на группы:JS regex соответствует всем словам в строке

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

мне нужна группа с exe/, другой с c:\dos\main.cpc, другой с /l: и последним с check.

Я уже пробовал:

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

, но это не сработало.

Вы можете мне помочь?

ответ

2

Вы забыли, чтобы избежать разделителем/

Ваше регулярное выражение должно быть:

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

Я предлагаю вам проверить свои регулярные выражения на этом сайте: https://regex101.com/

Он будет проверять синтаксис для вас с описание всех элементов, которые вы используете в своем регулярном выражении;)

0

Вы можете использовать этот:

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

Здесь is a regex test example.

Логики заключается в следующей:

  • первой группа не выбирает все символы вплоть до первого пустого (исключено)
  • любого количества пробельных символов могут следовать, но не учитывается
  • второй группы выбирает все символы до следующего пустого (исключено)
  • может следовать за любым количеством символов пробела
  • третья группа выбирает все символы до тех пор, пока, и в том числе, двоеточие
  • четвертая группа выбирает все последующие символы.
Смежные вопросы