为什么我执行了为空
时间: 2024-02-22 13:58:43 浏览: 117
python 变量是否为none
如果你执行了上述代码,但是没有得到任何输出,可能是因为在匹配结果中,两个字符串之间没有换行符。在这种情况下,你可以使用 `re.finditer()` 函数来获取每个匹配的位置,然后通过切片来获取匹配的部分,并去掉 `warning` 和 `/`。
以下是一个示例代码:
```python
import re
text = 'this is a message warning: please be careful / this is another message warning: danger ahead /'
matches = re.finditer(r'warning (.*?)/', text)
for match in matches:
start = match.start()
end = match.end()
match_str = text[start:end]
result = match_str.replace('warning ', '').replace('/', '')
print(result)
# Output: 'please be careful', 'danger ahead'
```
在这个示例中,我们使用 `re.finditer()` 函数来查找所有符合正则表达式的字符串,并返回每个匹配的位置。然后,我们遍历每个匹配位置,通过切片来获取匹配的部分,并去掉 `warning` 和 `/`。注意,在这个示例中,我们需要手动处理每个匹配的位置,因为 `re.findall()` 函数无法处理没有换行符的匹配结果。
阅读全文