Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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
Python 正则表达式,如何排除匹配中的搜索_Python_Regex - Fatal编程技术网

Python 正则表达式,如何排除匹配中的搜索

Python 正则表达式,如何排除匹配中的搜索,python,regex,Python,Regex,标题可能有点混乱,但问题很简单。 我在Python中得到了这个: string = "start;some;text;goes;here;end" 开始;和结束;单词在字符串中始终处于同一位置。 我想要第二个单词,在这个例子中是一些。这就是我所做的: import re string = "start;some;text;goes;here;end" word = re.findall("start;.+?;" string) 在本例中,可能需要修改一些内容以使其更合适,但在我的实际代码中,

标题可能有点混乱,但问题很简单。
我在Python中得到了这个:

string = "start;some;text;goes;here;end"
开始;和结束;单词在字符串中始终处于同一位置。
我想要第二个单词,在这个例子中是一些。这就是我所做的:

import re
string = "start;some;text;goes;here;end"
word = re.findall("start;.+?;" string)
在本例中,可能需要修改一些内容以使其更合适,但在我的实际代码中,这是最好的方法


然而,我得到的字符串是
start;有的,,其中搜索字符本身包含在输出中。我可以为两者编制索引,并提取中间部分,但必须有一种方法来只获取实际单词,而不是额外的垃圾吗?

我认为不需要正则表达式,但您只需要在这里创建一个捕获组

word = re.findall("start;(.+?);", string)
我想建议的另一个改进是不使用
。更具体一点,你要找的只是
之外的任何东西,分隔符

所以我要这样做:

word = re.findall("start;([^;]+);", string)

看起来你不需要正则表达式吗?不是我编的例子:)啊。。插入语,我现在觉得自己很愚蠢。不,这里不需要正则表达式,但这只是一个示例。谢谢没问题,如果它回答了你的问题,别忘了把它标记为答案。