我正在处理一系列我想搜索的文本,只找到4个字母的单词.它有效,除了它还可以找到4个以上的字母单词.
import re
test ="hello, how are you doing tonight?"
total = len(re.findall(r'[a-zA-Z]{3}', text))
print (total)
Run Code Online (Sandbox Code Playgroud)
它找到15,虽然我不确定它是如何发现的那么多.我以为我可能不得不使用\ b来选择单词的开头和结尾,但这似乎对我没用.
小智 8
试试这个
re.findall(r'\b\w{4}\b',text)
正则表达式匹配:
\b,这是一个单词边界.它匹配单词的开头或结尾.
\w{4} 匹配四个字符(az,AZ,0-9或_).
\b 是另一个词边界.
**作为附注,您的代码包含拼写错误,re.findall的第二个参数应该是您的字符串变量的名称,即test.此外,您的字符串不包含任何4个字母的单词,因此建议的代码将输出为0.
| 归档时间: |
|
| 查看次数: |
3007 次 |
| 最近记录: |