gpt4 book ai didi

python - 提及解析正则表达式

转载 作者:太空宇宙 更新时间:2023-11-03 17:02:43 26 4
gpt4 key购买 nike

我需要帮助来弄清楚如何正确实现正则表达式。

pattern = re.compile(r'\[(^[a-z0-9]*|[a-z0-9][^]]*)]')

要点是解析像“Text [123|Foo bar] text”这样的语句。
人类可读的正则表达式是 - [0-9|任何符号]。

更新:预期结果:

>>> input = 'text [1|Foo bar] text [222|Text] abc'
>>> pattern.findall(input)
[('1', 'Foo bar'), ('222', 'Text')]

最佳答案

你可以使用

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

参见regex demo

正则表达式:

  • \[ - 左方括号
  • (\d+) - 第 1 组匹配一个或多个数字
  • \| - 文字 |
  • ([^][]*) - 第 1 组匹配除[]`之外的零个或多个字符。
  • ] - 关闭 ]

Python demo :

import re
p = re.compile(r'\[(\d+)\|([^][]*)]')
test_str = "Text [123|Foo bar] text"
print (p.findall(test_str))

关于python - 提及解析正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34897709/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com