Regex, чтобы удалить все части цитаты из текста? - PullRequest
0 голосов
/ 13 декабря 2018

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

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

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

Имена ховеров не всегда являются одиночными.Они также могут быть, например, лидером-скаутом или ребенком № 1.

Ответы [ 2 ]

0 голосов
/ 13 декабря 2018

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

^"[^:]+:\s*

Демо

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

0 голосов
/ 13 декабря 2018

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

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

Объяснение

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

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

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

Демо

...