RegEx Match, разделенный пробелом, без двойных / одинарных кавычек? - PullRequest
1 голос
/ 07 мая 2020

У меня есть следующее регулярное выражение:

/(?:[^\s"]+|"[^"]*")+/g

это отлично работает для двойных кавычек

Как мне сделать так, чтобы оно соответствовало парным одинарным кавычкам?

`a string 'keep together' or "keep together"`

становится

`a`, `string` `'keep together'`, `or` `"keep together"`

1 Ответ

1 голос
/ 08 мая 2020

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

/(?:[^\s"']+|"[^"]*"|'[^']*')+/g
         ^          ^^^^^^^^

Часть '[^']*' будет соответствовать ', затем любым 0 или более вхождениям символов, кроме ', а затем '. К первому инвертированному классу символов также необходимо добавить одинарную кавычку.

См. Демонстрацию регулярного выражения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...