【问题标题】:Matching certain string ending in 1(any digit) but not just 1匹配某些以 1(任何数字)结尾但不只是 1 的字符串
【发布时间】:2017-02-24 16:24:26
【问题描述】:

我正在尝试在 Python 中编写一个正则表达式来匹配字符串,例如 rds2rds5rds11,但不匹配字符串 rds1 或任何非 rds-followed-by-digits字符串,例如camels2

我目前的正则表达式只是

^rds[^1]

但是这不匹配以 1 后跟另一个数字结尾的字符串。我对正则表达式不是很熟悉,但我认为我必须使用后向断言来确保在字符串的末尾,如果最后一个字符是1,那么前一个字符是[0-9]

我试图这样做,但最终陷入了混乱,其中后视断言长度似乎随字符串以多少位数结尾而变化。

【问题讨论】:

  • ^rds([02-9]|[0-9]{2,})

标签: python regex string


【解决方案1】:

使用负前瞻:

^rds(?!1$)\d+$

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多