【问题标题】:re.sub with exception or conditionre.sub 有例外或条件
【发布时间】:2018-02-18 21:27:28
【问题描述】:

我想使用 re.sub 替换所有带括号的单词,而不是单词 (k),我想使用一些否定条件,但它似乎不适用于我的示例。

我试过了

 \((?<!k)\w+\)

有什么建议吗?

re.sub(r'\((?<!k)\w+\)', '', '(k) i am, us dep economy (applause) (ph)', flags= re.IGNORECASE)      

想要的结果是

(k) i am, us dep economy

【问题讨论】:

    标签: python regex replace negation


    【解决方案1】:

    使用负前瞻:

    \((?!k\))\w+\)
    
    • (?!k\) 确保 k) 不会出现在最初的 ( 之后

    所以:

    In [75]: re.sub(r'\((?!k\))\w+\)', '', '(k) i am, us dep economy (applause) (ph)', flags= re.IGNORECASE)
    Out[75]: '(k) i am, us dep economy  '
    

    【讨论】:

    • w+ 表示什么?
    • @haxtar 不是w+,而是\w+,表示一个或多个(+)字母数字或下划线(\w)。
    • @haxtar 不是w+,而是\w+,表示一个或多个(+)字母数字或下划线(\w)。
    猜你喜欢
    • 2023-03-31
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    • 2015-01-17
    • 1970-01-01
    • 2012-11-24
    • 2019-02-14
    相关资源
    最近更新 更多