gpt4 book ai didi

python - python 中的正则表达式与 grep 的功能不匹配

转载 作者:太空宇宙 更新时间:2023-11-04 10:25:05 25 4
gpt4 key购买 nike

我有以下字符串:

string1; 1.8w/v PEG_8000; string2; ;;

我想获取; 1.8w/v PEG_8000; 部分。我尝试了以下方法:

a =re.search(';[^.;]+PEG[^.;]+;','string1; 1.8w/v PEG_8000; string2; ;;'

返回 a = None

我错过了什么?

(OS X 优胜美地,Python 2.7)

编辑:我之前说过以下内容,但我发现这不是真的。我忘了我在尝试之前编辑了字符串。

The funny thing is, if I do grep -E --color ';[^.;]+PEG[^.;]+;'
file
, where file contains the string, it can highlight it.

编辑 2: 我有一个包含此类字符串的巨大文件,其中关键字 PEG 不一定出现在第二个字段中。这就是我不使用 split(';') 的原因。

最佳答案

一个否定的字符类匹配所有除了那些指定的字符。因此,文字 . 导致了这里的问题。您可以按如下方式修改您的正则表达式:

>>> import re
>>> s = 'string1; 1.8w/v PEG_8000; string2; ;;'
>>> re.search(';[^;]+PEG[^;]+;', s).group()
'; 1.8w/v PEG_8000;'

关于python - python 中的正则表达式与 grep 的功能不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29837544/

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