Regex, чтобы удалить все части цитаты из текста?
У меня есть сценарий фильма, и мне нужно удалить все цитаты, то есть части, где люди что-то говорят, например: "Мартин:". Кто-нибудь знает, какое регулярное выражение я должен использовать?
Я использую язык сценариев Perl. Таким образом, у меня есть целый фильм. Вывод, который я хочу, - это тот сценарий фильма, но без частей, где люди разговаривают. Итак, "Мартин: я голоден". должно превратиться в "я голоден".
Я попытался "\w+\b:" в строке поиска, но это выбирает все экземпляры с:: в нем. Я пытался использовать ^, чтобы отметить начало строки, но это дало ошибку.
Имена Ховера не всегда единичны. Например, они могут быть лидером разведки или ребенком № 1.
2 ответа
Вы можете попробовать это
^"[\w\s\d#]+:\s*
объяснение
^
- Соответствует началу строки.
"[a-zA-Z][\w\s\d#]+:
- Матчи "
сопровождаемый одним или несколькими алфавитом или пробелом или цифрой или #
с последующим :
,
-\s*
- Соответствует нулю или более пробела.
Если имя никогда не содержит :
Вы можете просто исключить его из поиска (основываясь на ответе @code-maniac):
^"[^:]+:\s*
[^:]
соответствует любым символам, которые не являются :
, Вы можете включить любые символы, которые не хотите совпадать, между [].