簡體   English   中英

Python Regex:在匹配特定的字符串和空格或逗號之前

[英]Python Regex : Match a particular string and space or coma before

我對regex相當陌生,對我的示例有些困惑:

我有這樣的頭銜:

  • 超人
  • 超人高清
  • 超人(HD)
  • 高清超人
  • 超人(高清)
  • 動手
  • 雙手

我想做的是匹配標題結尾處的任何HD或(HD),以及前面的“,”或“”。

通常在這里以我的示例為例,我想匹配除“超人”以外的所有內容,並且不匹配最后兩個標題中的任何內容。

我正在嘗試類似的東西:

[\s,HD|\(HD\))]

但它也匹配所有其他“ H”,“ D”,“”和“”。

有人可以幫忙嗎?

使用以下模式:

/(?:,| )(?:HD|\(HD\))/

在線演示

您需要在正則表達式中使用行尾標記$ ,並使其他字符為可選:

/\s*,?\(?HD\)?$/

對於您的示例,請嘗試以下模式:

/(?<=\bSuperman)(\s*,?(?:HD|\(HD\)))/g

說明:

(?<=\bSuperman)  # positive lookbehind to assert 'Superman' is behind
\s*              # match 0 or more spaces
,?               # match literal , 0 or one time
(?:HD|\(HD\))    # the ending could be 'HD' or '(HD)'

REGEX 101演示

如果這是超人之后的一切,那么請使用以下積極的表情:

(?<=Superman).*

如果只是具有或不具有的HD或(HD),則:

(?<=Superman)\s?,?HD|\(HD\)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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