Найдите цитату, содержащую определенное слово из множества цитат в одной строке, используя регулярное выражение

#regex

Вопрос:

Если у меня разные кавычки в одной строке, как я могу найти цитату, содержащую определенное слово, с помощью регулярного выражения? Например, если у меня есть эти 3 строки:

«macOS-это хорошо», «Linux — это хорошо».

«macOS-это плохо», «Linux — это плохо».

«macOS идеален» «Linux идеален».

Как я могу получить цитаты, содержащие Linux, которые означают эти:

«Linux-это хорошо»

«Linux — это плохо»

«Linux идеален»

Ответ №1:

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

 "[^"]*bLinuxb[^"]*"
 


ДЕМОНСТРАЦИЯ

Объяснение регулярного выражения:

 "          match opening double quote
[^"]*      zero or more content before Linux
bLinuxb  match Linux
[^"]*      zero or more content after Linux
"          closing double quote
 

Обратите внимание, что мой ответ предполагает, что ваш вводимый текст будет содержать только правильные сбалансированные двойные кавычки. Если нет, то мой ответ может дать несколько ложных срабатываний.