Я прочитал много постов и обнаружил, что, похоже, look-behind
не поддерживается регулярным выражением JS. Есть ли способ, которым я все еще могу выполнить эту часть, чтобы исключить сопоставление любых равных символов с любым количеством пробелов перед или после него?
Пока что я получил \s+|,|\(|\)|(?! \s*?=)
это регулярное выражение будет соответствовать всем разделителям, таким как любое количество пробелов, ",", "(" или ")", но не будет работать должным образом для последней части, где я хочу исключить любые пробелы, найденные до или после =
символ.
поэтому момент, когда я это сделал (?! \s*?=)
, - это когда весь ад вспыхнул Тем не менее, я вижу, что если я просто использую \s*?=
с каналом, он на самом деле соответствует any equal symbols with any number of spaces in front or after it
.
песочница: https://regexr.com/4fgop
Есть ли способ, которым я все еще могу сделать это в JavaScript?
Пример (с помощью регулярного выражения с STRING.split(regexrulehere)
)
Строка ввода:
my-app command, arg1 arg2 arg3 =val1, arg4 = val2)
Ожидаемый результат:
[
'my-app',
'command',
'arg1',
'arg2',
'arg3=val1', // or `arg3 =val1` is fine as well
'arg4=val2', // or `arg4 = val2` is fine as well
]