我是正则表达式新手,我不知道如何做到这一点:
Hello this is JURASSIC WORLD shut up Ok
[REVIEW] The movie BATMAN is awesome lol
我需要的是电影的标题。每句话只有一个。我必须忽略 [] 之间的单词,因为它不会是电影的标题。
我想到了这个:
^\w([A-Z]{2,})+
欢迎任何帮助。
谢谢。
最佳答案
您可以使用否定查找来确保标题不在 []
范围内
\b(?<!\[)[A-Z ]{2,}(?!\])\b
\b
匹配单词边界。(?<!\[)
消极地看着后面。检查匹配的字符串前面是否没有[
[A-Z ]{2,}
匹配 2 个或多个大写字母。(?!\])
消极地展望 future 。确保字符串后面不跟随]
示例
>>> 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 ']
>>>
关于python - 带条件的正则表达式大写单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31810001/