TLDR: Я ищу, чтобы захватить все за пределами кавычек, но, похоже, я не могу это сделать на Java с этим регулярным выражением \ "|" (?: \ "| [^ "]) *" | ([^ \ "] +), пока он работает на таких сайтах, как http://myregexp.com/. Может ли кто-нибудь указать мне, что я делаю неправильно?Java Regex - Захват всех внешних котировок
Привет, В настоящее время я пытаюсь проанализировать исходный код .java и извлечь в виде строки все внешние кавычки (игнорируя экранированные кавычки).
Например, в этой строке:
Это должно быть захвачена «это не» и «не \» это \ «либо».
Я должен уметь с шаблоном и совпадением найти «Это должно быть захвачено», «и», «.».
В настоящее время у меня есть \ "[^ \"] + \ "| ([^ \"] +), который хорошо работает, если в документе есть равная пара "", но ломается, как только так как есть беглый.
В онлайн-тестировщиках регулярных выражений я пробовал \ "|" (?: \ "| [^"]) * "| ([^ \"] +), который, похоже, делает то, что я ищу for, но когда я пробую это в Java, это не так.
Try 'List [] Рез = ДЕЛЕНИЕ ("\\ с * \"[^ \" \\\\] * (? : \\\\. [^ \ "\\\\] *) * \" \\ s * ");' –
См. https://ideone.com/NgMozq. –
Это хорошо работает, спасибо большое! Я попытаюсь понять, как работает регулярное выражение, и применять его для комментариев исходного кода (например,/* * /,/** **/и // \ n). – Beerbossa