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