如何用正则表达式进行模式替换?

马龙

我要在此字符串中匹配“ windowsXP”:

windowsXP|7|8 

或者

windowsXP 7 8

我写了一个模式来匹配它:

 ([^0-9|])+[0-9\.]+.*

为什么不匹配?是| 麻烦在支架上。我尝试将其转义,但还是没有用。

([^0-9\|])+[0-9\.]+.*
Ryszard捷克

看:

  1. ([^0-9|])+ 查找与数字和管道不同的字符
  2. [0-9\.]+ 尝试匹配数字或句点,但是表达式无法捕获到管道。

使用

^([^|\s]+)[|\s](\d+)[|\s](\d+)

证明

解释

--------------------------------------------------------------------------------
  ^                        the beginning of the string
--------------------------------------------------------------------------------
  (                        group and capture to \1:
--------------------------------------------------------------------------------
    [^|\s]+                  any character except: '|', whitespace (1 or more
                             times (matching the most amount
                             possible))
--------------------------------------------------------------------------------
  )                        end of \1
--------------------------------------------------------------------------------
  [|\s]                    any character of: '|', whitespace (\n, \r,
                           \t, \f, and " ")
--------------------------------------------------------------------------------
  (                        group and capture to \2:
--------------------------------------------------------------------------------
    \d+                      digits (0-9) (1 or more times (matching
                             the most amount possible))
--------------------------------------------------------------------------------
  )                        end of \2
--------------------------------------------------------------------------------
  [|\s]                    any character of: '|', whitespace (\n, \r,
                           \t, \f, and " ")
--------------------------------------------------------------------------------
  (                        group and capture to \3:
--------------------------------------------------------------------------------
    \d+                      digits (0-9) (1 or more times (matching
                             the most amount possible))
--------------------------------------------------------------------------------
  )                        end of \3

Python代码

import re
regex = r"^([^|\s]+)[|\s](\d+)[|\s](\d+)"
test_str = "windowsXP|7|8"
print(re.findall(regex, test_str))

结果[('windowsXP', '7', '8')]

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何用匹配的正则表达式模式替换特定位置的字符串

来自分类Dev

如何用正则表达式替换文本?

来自分类Dev

如何用正则表达式替换字符序列?

来自分类Dev

如何用正则表达式替换WebStorm / PhpStorm

来自分类Dev

如何用变量替换vim正则表达式

来自分类Dev

如何用正则表达式替换字符序列?

来自分类Dev

使用正则表达式进行模式替换

来自分类Dev

如何用|进行正则表达式?

来自分类Dev

如何使用正则表达式模式替换+91?

来自分类Dev

如何使用正则表达式替换模式?

来自分类Dev

Perl正则表达式如何用不确定的出现次数进行搜索和替换?

来自分类Dev

如何用其子项替换span并在BeautifulSoup中对内部文本进行正则表达式

来自分类Dev

正则表达式多行模式和替换替换

来自分类Dev

正则表达式如何在正则表达式上对整个模式正确进行正则表达式分割(问号等于)

来自分类Dev

如何用sed表达此正则表达式?

来自分类Dev

如何用sed表达此正则表达式?

来自分类Dev

如何用正则表达式模式替换文本并在替换文本中集成一个计数器?

来自分类Dev

如何用JavaScript正则表达式替换href内的所有内容?

来自分类Dev

Perl正则表达式:如何用html标签替换终端控制字符?

来自分类Dev

如何用正则表达式替换匹配的组值

来自分类Dev

如何用正则表达式替换剪切字符串逻辑?

来自分类Dev

正则表达式如何用匹配的大小写替换?

来自分类Dev

如何用正则表达式替换包含圆括号(括号)的文本?

来自分类Dev

如何用数据框中的数字替换正则表达式

来自分类Dev

如何用空值替换动态正则表达式?

来自分类Dev

如何用单个正则表达式产生多个子字符串的替换?

来自分类Dev

如何用VBScript正则表达式和VBA替换单词?

来自分类Dev

Perl正则表达式:如何用html标签替换终端控制字符?

来自分类Dev

Objective-C中的正则表达式:如何用动态模板替换匹配项?

Related 相关文章

  1. 1

    如何用匹配的正则表达式模式替换特定位置的字符串

  2. 2

    如何用正则表达式替换文本?

  3. 3

    如何用正则表达式替换字符序列?

  4. 4

    如何用正则表达式替换WebStorm / PhpStorm

  5. 5

    如何用变量替换vim正则表达式

  6. 6

    如何用正则表达式替换字符序列?

  7. 7

    使用正则表达式进行模式替换

  8. 8

    如何用|进行正则表达式?

  9. 9

    如何使用正则表达式模式替换+91?

  10. 10

    如何使用正则表达式替换模式?

  11. 11

    Perl正则表达式如何用不确定的出现次数进行搜索和替换?

  12. 12

    如何用其子项替换span并在BeautifulSoup中对内部文本进行正则表达式

  13. 13

    正则表达式多行模式和替换替换

  14. 14

    正则表达式如何在正则表达式上对整个模式正确进行正则表达式分割(问号等于)

  15. 15

    如何用sed表达此正则表达式?

  16. 16

    如何用sed表达此正则表达式?

  17. 17

    如何用正则表达式模式替换文本并在替换文本中集成一个计数器?

  18. 18

    如何用JavaScript正则表达式替换href内的所有内容?

  19. 19

    Perl正则表达式:如何用html标签替换终端控制字符?

  20. 20

    如何用正则表达式替换匹配的组值

  21. 21

    如何用正则表达式替换剪切字符串逻辑?

  22. 22

    正则表达式如何用匹配的大小写替换?

  23. 23

    如何用正则表达式替换包含圆括号(括号)的文本?

  24. 24

    如何用数据框中的数字替换正则表达式

  25. 25

    如何用空值替换动态正则表达式?

  26. 26

    如何用单个正则表达式产生多个子字符串的替换?

  27. 27

    如何用VBScript正则表达式和VBA替换单词?

  28. 28

    Perl正则表达式:如何用html标签替换终端控制字符?

  29. 29

    Objective-C中的正则表达式:如何用动态模板替换匹配项?

热门标签

归档