标题可能会有些混乱,但问题很简单。
我在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] 删除。
我来说两句