Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex python正则表达式:如何提取“A=BC=D”->“BC”_Regex_Python 3.x - Fatal编程技术网

Regex python正则表达式:如何提取“A=BC=D”->“BC”

Regex python正则表达式:如何提取“A=BC=D”->“BC”,regex,python-3.x,Regex,Python 3.x,我不知所措,因为我不知道如何编写python正则表达式来提取特定字符串,例如a=BC=D=EF=->“BC”、“EF”。我搜索了很多,但无法编写此操作。请帮忙。像这样的事情 =..= 结果: 比赛1 全场比赛2-6=BC= 比赛2 全场比赛9-13=EF= 下面是一个不错的教程: 您可以使用=[^=]+=来提取字符,除了=任何非零的次数。可以使用提取等号内的内容 如果您想在等号内精确匹配两个字符,=[^=]{2}=应该这样做。首先您需要使用正则表达式库 import re 然后,您可以使用r

我不知所措,因为我不知道如何编写python正则表达式来提取特定字符串,例如a=BC=D=EF=->“BC”、“EF”。我搜索了很多,但无法编写此操作。请帮忙。

像这样的事情

=..=
结果:

比赛1

全场比赛2-6=BC=

比赛2

全场比赛9-13=EF=

下面是一个不错的教程:

您可以使用=[^=]+=来提取字符,除了=任何非零的次数。可以使用提取等号内的内容


如果您想在等号内精确匹配两个字符,=[^=]{2}=应该这样做。

首先您需要使用正则表达式库

import re
然后,您可以使用re.findallpattern,string来获取与您的模式匹配的所有子字符串的列表

从您的问题中不清楚是什么定义了您正在寻找的“特定字符串”。假设您正在查找两个等号之间的所有内容,但并不贪婪地在其中不包含等号,那么可以使用regex=.*?=

结果:

>>>m

['BC','EF']


这不是很明确。你能更清楚地知道你想要这个正则表达式做什么吗?谢谢你的回答!请再问一个问题!如何提取仅从左侧相等的标记,不只是两面,例如A= BC= D=EF=G H->‘BC’、‘EF’、‘G’?@ USS3620568,如果有任何答案解决了您的问题,请考虑接受它,看看如何执行。非常感谢!非常有用的答案!请再问一个问题。只有左边的A=BC=D=EF==GH->'BC','EF','G'?@user3620568理想情况下,您应该编辑您的问题以包含此后续内容或单独提问,但尝试=[^=]+?:=|。唯一的问题是它在捕获中包含了G之后的空格。所以你会得到“BC”,“EF”,“G”。谢谢你的回答!下次我会小心的。@user3620568如果这充分回答了您的问题,请标记为已接受。没问题!
import re
m = re.findall("=(.*?)=", "A =BC= D =EF=")