python中的正则表达式似乎不像我期望的那样工作

三y

我的代码似乎无法正常运行:

x = "engniu4nwi5u"
print re.sub(r"\D(\d)\D", r"\1abc", x)

我期望的输出是:engniuabcnwiabcu
但是实际给出的输出是:engni4abcw5abc

nu11p01n73R

您正在分组错误的字符,必须将其写为

>>> x = "engniu4nwi5u"
>>> re.sub(r"(\D)\d(\D)", r"\1abc\2", x)
'engniuabcnwiabcu'
  • (\D) 匹配非数字并捕获 \1
  • \d 匹配数字
  • (\D)匹配以下数字。捕获\2

它如何匹配?

engniu4nwi5u
     |
    \D => \1

engniu4nwi5u
      |
     \d

engniu4nwi5u
       |
      \D => \2

另一种解决方案

您也可以使用环顾四周

>>> x = "engniu4nwi5u"
>>> re.sub(r"(?<=\D)\d(?=\D)", r"abc", x)
'engniuabcnwiabcu'
  • (?<=\D)回顾断言。检查数字是否以非数字开头。但不是虚假的
  • \d 匹配数字
  • (?=\D)提前声明。检查数字后面是否跟有非数字。也没有被捕获。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

前瞻性的正则表达式不像我期望的那样工作

来自分类Dev

蟒蛇 3.6.5。为什么 OR 不像我期望的那样工作?

来自分类Dev

std::set 推导指南不像我期望的那样工作

来自分类Dev

正则表达式在我的代码中似乎无法正常工作

来自分类常见问题

为什么sed / awk无法像我的正则表达式所说的那样捕获组?

来自分类Dev

为什么sed / awk无法像我的正则表达式所说的那样捕获组?

来自分类Dev

期望中的正则表达式

来自分类Dev

setf 不像我想的那样工作

来自分类Dev

我的正则表达式“似乎”在测试器中工作,但不在我的实际代码中

来自分类Dev

正则表达式与我期望的不符

来自分类常见问题

this.setState不像我期望的那样合并状态

来自分类Dev

Bash脚本的行为不像我期望的那样

来自分类Dev

JavaScript条件不像我期望的那样短路

来自分类Dev

jQuery函数的行为不像我期望的那样

来自分类Dev

重写似乎无法识别我的正则表达式

来自分类Dev

Python的正则表达式模块:重复“反向引用”似乎无法正常工作

来自分类Dev

SED-非贪婪的正则表达式似乎无法在sed中工作

来自分类Dev

SED-非贪婪的正则表达式似乎无法在sed中工作

来自分类Dev

为什么我的正则表达式不能在c ++中工作,但可以在Python中工作?

来自分类Dev

正则表达式-为什么此正则表达式不能在Python中工作?

来自分类常见问题

我正在尝试使我的正则表达式在MySQL中工作,但不工作

来自分类Dev

python中的正则表达式

来自分类Dev

python中的正则表达式

来自分类Dev

python中的正则表达式*

来自分类Dev

python中的正则表达式

来自分类Dev

Spring idref不像我想的那样工作

来自分类Dev

每个函数中的Javascript新对象都不像我想象的那样工作

来自分类Dev

JavaScript-使我的正则表达式正常工作

来自分类Dev

正则表达式可以工作,但是不能在Python中工作吗?

Related 相关文章

  1. 1

    前瞻性的正则表达式不像我期望的那样工作

  2. 2

    蟒蛇 3.6.5。为什么 OR 不像我期望的那样工作?

  3. 3

    std::set 推导指南不像我期望的那样工作

  4. 4

    正则表达式在我的代码中似乎无法正常工作

  5. 5

    为什么sed / awk无法像我的正则表达式所说的那样捕获组?

  6. 6

    为什么sed / awk无法像我的正则表达式所说的那样捕获组?

  7. 7

    期望中的正则表达式

  8. 8

    setf 不像我想的那样工作

  9. 9

    我的正则表达式“似乎”在测试器中工作,但不在我的实际代码中

  10. 10

    正则表达式与我期望的不符

  11. 11

    this.setState不像我期望的那样合并状态

  12. 12

    Bash脚本的行为不像我期望的那样

  13. 13

    JavaScript条件不像我期望的那样短路

  14. 14

    jQuery函数的行为不像我期望的那样

  15. 15

    重写似乎无法识别我的正则表达式

  16. 16

    Python的正则表达式模块:重复“反向引用”似乎无法正常工作

  17. 17

    SED-非贪婪的正则表达式似乎无法在sed中工作

  18. 18

    SED-非贪婪的正则表达式似乎无法在sed中工作

  19. 19

    为什么我的正则表达式不能在c ++中工作,但可以在Python中工作?

  20. 20

    正则表达式-为什么此正则表达式不能在Python中工作?

  21. 21

    我正在尝试使我的正则表达式在MySQL中工作,但不工作

  22. 22

    python中的正则表达式

  23. 23

    python中的正则表达式

  24. 24

    python中的正则表达式*

  25. 25

    python中的正则表达式

  26. 26

    Spring idref不像我想的那样工作

  27. 27

    每个函数中的Javascript新对象都不像我想象的那样工作

  28. 28

    JavaScript-使我的正则表达式正常工作

  29. 29

    正则表达式可以工作,但是不能在Python中工作吗?

热门标签

归档