就像问题标题一样.
我是Python和正则表达式的新手.因此,我必须从段落中搜索特定单词并显示所有出现的索引.
例如:
该段是:
这是一个测试文本,用于测试和测试.
和这个词:
测试
算法应返回上段中3个单词test的非重叠出现的索引(但不测试,因为我的意思是搜索整个单词,而不仅仅是子字符串).
另一个带有相同段落和这个"单词"的例子:
测试和
该算法应返回2次测试和.
我想我必须使用一些正则表达式来找到整个单词的模式,前后都是标点符号 . , ; ? -
谷歌搜索后,我发现re.finditer应该使用的东西,但似乎我没有找到正确的方法去.请帮忙,提前谢谢.;)
是的,finditer是要走的路.使用start()查找匹配的索引.
例:
import re
a="This is a testing text and used to test and test and test."
print [m.start() for m in re.finditer(r"\btest\b", a)]
print [m.start() for m in re.finditer(r"\btest and\b", a)]
Run Code Online (Sandbox Code Playgroud)
输出:
[35,44,53]
[35,44]
| 归档时间: |
|
| 查看次数: |
1720 次 |
| 最近记录: |