簡體   English   中英

有條件的正則表達式大寫單詞

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM