Регулярное выражение, соответствующее непустым кавычкам - PullRequest
2 голосов
/ 05 ноября 2019

Я ищу регулярное выражение, которое соответствует "batz", но не "" в этом тексте: bla "" and "batz" foo

/"([^"]*)"/g соответствует обоим, /"([^"]+)"/g соответствует " and ".

Возможно ли это даже с помощью регулярных выражений?

1 Ответ

2 голосов
/ 05 ноября 2019

Вы можете использовать это регулярное выражение с захваченной группой:

(?:""|[^"])*("[^"]+")

Демонстрация RegEx

Подробности RegEx:

  • (?:: создать группу без захвата
    • "": сопоставить ""
    • |: ИЛИ
    • [^"]: сопоставитьлюбой символ, который не является "
  • )*: закрыть группу без захвата. * позволяет этой группе соответствовать 0 или более вхождениям
  • ("[^"]+"): сопоставить непустую строку в двойных кавычках и захватить в группе # 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...