Как разбить на все вхождения слова, исключая, что слово является подстрокой в ​​кавычках? - PullRequest
1 голос
/ 28 апреля 2019

Мне нужно выражение регулярного выражения для использования в методе Javas Pattern.split (): мне нужно соответствующим образом проанализировать вхождения слова в эту строку:

- Начало -

Я хочу разделить этот банан, но не 'банан', и я хочу разделить этот банан, но не 'anybananain подстроку и \ или любой банан между каждым набором буквальных кавычек'

- End -

Моей первой попыткой было попробовать это:

Который разбивается, если слово окружено пробелом и границей, но также захватывает любое слово с символом с обеих сторон и не попадает между кавычками или большей группой слов между набором кавычек.

\bbanana\b

Другая мысль, которая у меня была, была примерно такой:

['].\*[^(?:banana)].\*[']|banana

, который будет захватывать любую строку с бананом между кавычками или любым бананом и разделяться только на группу, которая соответствует второй группе, а не на группу без захвата, но для групп без захвата все равно будут выполняться операции регулярного выражения , Похоже, что .split с этим тоже не достигнет.

В приведенной выше строке есть 5 бананов, и я хочу разделить только первый и третий бананы в приведенной выше строке. Это возможно? Мне нужно исключить расщепление любого банана, который заключен в '', но может содержать любое количество символов между этими буквальными кавычками

Таким образом, ожидаемый результат будет:

Я хочу разделить это.

Но не "банан", и я хочу разделить это.

Но не «anybananain подстрока и \ или любой банан между каждым набором буквальных кавычек».

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