【问题标题】:Python regex: how to do a negative lookahead with a string which don't start immediately?Python regex:如何对不立即开始的字符串进行负前瞻?
【发布时间】:2014-05-30 03:08:34
【问题描述】:

来自https://docs.python.org/2/library/re.html#regular-expression-syntax

(?!...)
如果 ... 下一个不匹配,则匹配。这是一个否定的前瞻断言。例如,Isaac (?!Asimov) 将匹配 'Isaac',仅当它后面没有 'Asimov'

但是如果IsaacAsimov之间有一个或几个单词怎么办?

【问题讨论】:

    标签: python regex python-2.7


    【解决方案1】:
    Isaac(?!.*Asimov)
    

    对任何以 Asimov 结尾的字符序列使用负前瞻。如果您想在 . 中包含换行符,[\s\S]DOTALL 标志可能是合适的。

    【讨论】:

    • 只是一个额外的:我如何可以忽略 Asimov 的大小写,同时保持 Isaac 的大小写敏感?
    • @user2284570 "Isaac(?!.*[Aa][Ss][Ii][Mm][Oo][Vv])"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 2023-03-23
    相关资源
    最近更新 更多