簡體   English   中英

匹配整個單詞或單詞后跟另一個的正則表達式模式

[英]regex pattern to match whole word or word followed by another

我開始學習正則表達式以匹配 python 列中的單詞並將它們替換為其他值。

df['col1']=df['col1'].str.replace(r'(?i)unlimi+\w*', 'Unlimited', regex=True)

這種模式用於匹配無限世界的不同變化。 但是我在列中有一些值不僅有一個詞,還有兩個或更多:例如:

[Unlimited, Unlimited (on-net), Unlimited (on-off-net)]`

我想知道是否有一種方法可以將前面示例中的所有單詞與單個正則表達式行匹配。

您可以使用

df['col1']=df['col1'].str.replace(r'(?i)unlimi\w*(?:\s*\([^()]*\))?', 'Unlimited', regex=True)

請參閱正則表達式演示

(?i)unlimi\w*(?:\s*\([^()]*\))? 正則表達式匹配

  • (?i) - 右邊的正則表達式不區分大小寫
  • unlimi - 固定字符串
  • \w* - 零個或多個單詞字符
  • (?:\s*\([^()]*\))? - 一個可選的序列
    • \s* - 零個或多個空格
    • \( - 一個(字符
    • [^()]* - 除()之外的零個或多個字符
    • \) - a )字符。

暫無
暫無

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

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