Альтернатива заглянуть за регулярное выражение - PullRequest
0 голосов
/ 30 января 2019

К сожалению, Firefox пока не поддерживает регулярное выражение lookbehind, и я не смог переписать его.

Сценарий: разбить строку на /, но не на / после "abc".

регулярное выражение: /(?<!abc)\//g пример текста: test/abc/foo

Желаемый результат: только первый, а не / после abc.

Можно ли переписать в регулярное выражение или я должен посмотретьдля обхода без регулярных выражений?

1 Ответ

0 голосов
/ 30 января 2019

Если вы хотите избежать просмотра за спиной, вы не можете так легко использовать подход расщепления.

Вы можете сопоставить любой символ, кроме подстроки / или abc/:

/(?:abc\/|[^\/])+/g

См. Демонстрационную версию regex

Шаблон означает:

  • (?: - начало группы без захвата:
    • abc\/ - лиральная abc/ подстрока
    • | - или
    • [^\/] - любой символ, отличный от /
  • )+ - 1 или более повторений.

JS demo:

console.log(
   "test/abc/foo".match(/(?:abc\/|[^\/])+/g)
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...