gpt4 book ai didi

python - 无法找到具有前瞻/后视功能的正则表达式

转载 作者:行者123 更新时间:2023-12-05 06:59:15 25 4
gpt4 key购买 nike

我在正确设置正则表达式方面遇到了问题。我正在寻找以下字符串中的特定数字。例如,下面是一些字符串以及我正在使用的正则表达式

matcher = re.compile(r'(?<=[/\- ])([0-9]+)')
string = 'Redundant 100/70/50/50-0/0/0/0; EX-SEP ANN IMPLANT MAX. '
string2 = 'Big High 200/40/40/0/0-80/60/40/0/0; EX-WP 9months 7. '

结果是

['100', '100', '85', '50', '0', '0', '0', '0']
['100', '80', '50', '0', '0', '80', '60', '40', '0', '0', '9', '7']

例如,我想找出一种方法来仅获取“/”旁边的数字,而不获取第二个字符串中的“9”和“7”。我找不到执行此操作的方法,并尝试使用后视表达式,但如果不检索字符串中的其他数字,则无法只获得我想要的数字。

这对我来说是全新的,对于为什么我没有得到每个字符串的预期答案的任何帮助,我将不胜感激

最佳答案

您可以匹配接近 / 的数字序列或 -使用

(?<=[/-])[0-9]+|[0-9]+(?=[/-])

参见 regex demo和正则表达式图:

enter image description here

详细信息

  • (?<=[/-])[0-9]+ - 一个或多个具有 / 的数字或 -在前面
  • | - 或者
  • [0-9]+(?=[/-]) - 一个或多个具有 / 的数字或 -紧接着。

关于python - 无法找到具有前瞻/后视功能的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64449159/

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