Regex, чтобы удалить все части цитаты из текста?

У меня есть сценарий фильма, и мне нужно удалить все цитаты, то есть части, где люди что-то говорят, например: "Мартин:". Кто-нибудь знает, какое регулярное выражение я должен использовать?

Я использую язык сценариев Perl. Таким образом, у меня есть целый фильм. Вывод, который я хочу, - это тот сценарий фильма, но без частей, где люди разговаривают. Итак, "Мартин: я голоден". должно превратиться в "я голоден".

Я попытался "\w+\b:" в строке поиска, но это выбирает все экземпляры с:: в нем. Я пытался использовать ^, чтобы отметить начало строки, но это дало ошибку.

Имена Ховера не всегда единичны. Например, они могут быть лидером разведки или ребенком № 1.

2 ответа

Решение

Вы можете попробовать это

^"[\w\s\d#]+:\s*

объяснение

^ - Соответствует началу строки.

"[a-zA-Z][\w\s\d#]+: - Матчи " сопровождаемый одним или несколькими алфавитом или пробелом или цифрой или #с последующим :,

-\s* - Соответствует нулю или более пробела.

демонстрация

Если имя никогда не содержит :Вы можете просто исключить его из поиска (основываясь на ответе @code-maniac):

^"[^:]+:\s*

демонстрация

[^:] соответствует любым символам, которые не являются :, Вы можете включить любые символы, которые не хотите совпадать, между [].

Другие вопросы по тегам