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

通常

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

string = "start;some;text;goes;here;end"

开始; 结束; 单词始终在字符串中的相同位置。
我想要第二个单词,在这种情况下一些这是我所做的:

import re
string = "start;some;text;goes;here;end"
word = re.findall("start;.+?;" string)

在此示例中,可能需要进行一些修改以使其更合适,但是在我的实际代码中,这是最好的方法。

但是,我返回的字符串是start;some;,其中搜索字符本身包含在输出中。我可以两者都索引; ,然后提取中间部分,但是必须有一种方法只能获取实际的单词,而不是多余的垃圾吗?

梅尔维尔

我认为不需要正则表达式,但是您所需要的只是这里的捕获组。

word = re.findall("start;(.+?);", string)

我想建议的另一项改进是不使用.更确切地说,您所寻找的只是除;定界符以外的任何内容

所以我会这样做:

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章