首页 > 解决方案 > 似乎无法让 regex.search 返回任何内容

问题描述

如果字符串末尾包含“_XXXX”,我正在尝试检索字符串。

这是我的代码

import re
string = "45263462346wefw_XLey"
print(re.search(string, r"_[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]\Z"))

这返回无,我显然做错了什么,但我无法弄清楚。

任何帮助,将不胜感激。

标签: pythonregex

解决方案


{}你可以选择你想要的出现次数。所以"_[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]\Z"成为"_[a-zA-Z]{4}\Z"。因此,如果您有不同数量的字母,您可以"_[a-zA-Z]{1,4}\Z"匹配 1 到 4 个字母。

re.search()采取pattern之前string

import re
string = "45263462346wefw_XLey"

print(re.search(r"_[a-zA-Z]{4}\Z", string))


print(re.findall(r"_[a-zA-Z]{4}\Z", string))

输出 :

<_sre.SRE_Match object; span=(15, 20), match='_XLey'>
['_XLey']

推荐阅读