[英]python regex to match file name but get None
我的文件夹中有几个文件,我想找出内容并匹配其文件名。 但是,当我使用re.search实现我的目标时,我只会得到“无”。 有人可以帮忙吗?
import re
xe = r'D:\ABC\cc123.xml'
re.search('cc*?.xml', xe)
(尽管有一个可接受的答案,但我认为答案对于其他人来说并不明确,并且仍有改进的余地,因此我在此处添加了一个新答案)
问题是OP只是使用了错误的正则表达式: cc*?.xml
*
表示前面的标记是否出现(在您的情况下为c
) *?
是不愿意匹配的任何情况。 .
表示任何字符
这意味着您要尝试匹配的字符串是:
c
xml
匹配字符串的示例是c.xml
ccccccAxml
等。
我想你想做的是
cc.*?\.xml
这意味着匹配
cc
.*?
:后跟出现任何字符,尽可能少地匹配 \\.
:后跟一个点(请注意\\.
与.
的区别) xml
稍微调整一下,这样的东西怎么样?
import re
xe = 'D:\ABC\cc123.xml'
print (re.search('cc.*?.xml', xe).group())
输出:
cc123.xml
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.