[英]Regex uppercase words with condition
我是regex的新手,我不知道该怎么做:
你好,我是侏罗纪世界闭嘴了
[评论]电影《蝙蝠侠》真棒哈哈
我需要的是电影的标题。 每个句子只有一个。 我必须忽略[]之间的单词,因为它不是电影的标题。
我想到了这一点:
^\w([A-Z]{2,})+
任何帮助都将受到欢迎。
谢谢。
您可以使用负面环顾四周功能来确保标题不在[]
\b(?<!\[)[A-Z ]{2,}(?!\])\b
\\b
匹配单词边界。
(?<!\\[)
负向后面。 检查匹配的字符串是否不以[
[AZ ]{2,}
匹配2个或更多大写字母。
(?!\\])
负面的展望。 确保字符串后没有]
例
>>> string = """Hello this is JURASSIC WORLD shut up Ok
... [REVIEW] The movie BATMAN is awesome lol"""
>>> re.findall(r'\b(?<!\[)[A-Z ]{2,}(?!\])\b', string)
[' JURASSIC WORLD ', ' BATMAN ']
>>>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.