【发布时间】:2017-10-21 21:28:38
【问题描述】:
我的任务
我正在尝试使用正则表达式查找出现在字符串中的单词的位置
代码
import re
# A random string
mystr = "there not what is jake can do for you ask what you play do for spare jake".upper()
match = re.search(r"[^a-zA-Z](jake)[^a-zA-Z]", mystr)
print match.start(1)
输出
18
预期输出
我希望我的输出包含字符串jake 的位置:
5, 17
编辑: 为了澄清,我试图确定单词的位置。我相信我所做的是找到索引并且不确定如何让它按我的预期工作
【问题讨论】:
-
@WiktorStribiżew,他想要词的位置,而不是字符
-
@RomanPerekhrest:这是一个反问。 Wiktor 想指出错误的方法。字符串由字符组成,而不是由单词组成。 OP 正在获取第一个字符出现的索引。
-
仅使用正则表达式是否可行?我不这么认为。
-
r'[\s]*(jake)[\s]*'已经是一个更好的正则表达式,但我认为仅使用正则表达式是不可能的
标签: python regex python-2.7 search