我用python写正则表达式,re.findall()除了返回目标字符串外,还返回空字符,怎么回事
时间: 2024-03-08 14:49:19 浏览: 126
python中正则表达式 re.findall 用法
re.findall() 函数返回的是所有匹配的子串,如果正则表达式匹配到了空字符串,那么它也会被返回。这是正常的行为。
如果你不想返回空字符串,可以在正则表达式中使用限定符,例如使用 "+" 来表示匹配一个或多个字符,或者使用 "*" 来表示匹配零个或多个字符。这样可以确保只返回非空的匹配结果。例如,你可以这样使用 re.findall() 函数:
```
import re
string = "Hello, World!"
results = re.findall(r'\w+', string)
print(results)
```
这个例子中,`r'\w+'` 表示匹配一个或多个单词字符,因此只有非空的单词被返回。输出结果为:
```
['Hello', 'World']
```
阅读全文