摘要: 问题 ​ 正则表达式匹配某个文件模式,但是它是找到的模式最长可能匹配。而你想修改它变成查找最短的可能匹配。 解决方案 ​ 这个问题一般出现在需要匹配一对分隔符之间的文本的时候(比如引号包含的字符串)。为了说明清楚,考虑如下的例子: import re str_pat = re.compile(r'\ 阅读全文
posted @ 2022-02-18 17:45 qiupeng 阅读(50) 评论(0) 推荐(0)
摘要: 问题 ​ 你需要以忽略大小写的方式搜索与替换文本字符串 解决方案 ​ 为了在文本操作时忽略大小写,你需要在使用re模块的时候给这些操作提供re.IGNIRECASE标志参数。比如: import re text = 'UPPER PYTHON, lower python, Mixed Python' 阅读全文
posted @ 2022-02-18 17:10 qiupeng 阅读(94) 评论(0) 推荐(0)
摘要: 问题 ​ 你想在字符串中搜索和匹配指定的文件模式 解决方案 ​ 对于简单的字面模式,直接使用str.replace()方法即可,比如: text = 'yeah,but no, but yeah, but no ,but yeah' print(text.replace('yeah','yep')) 阅读全文
posted @ 2022-02-18 16:41 qiupeng 阅读(53) 评论(0) 推荐(0)
摘要: 2.4字符串匹配和搜索 问题 ​ 你想匹配或者搜索特定模式的文本 解决方案 ​ 如果你想匹配的是字符串,那么你通常只需要调用基本字符串方法就行,比如str.find(),str.endswith(),str.startswith()或者类似的方法: text = 'yeah,but no, but 阅读全文
posted @ 2022-02-18 13:37 qiupeng 阅读(88) 评论(0) 推荐(0)
摘要: 问题 ​ 你想使用Unix Shell中常用的通配符(比如*.py,Date[0-9]*.csv等)去匹配文本支付串 解决方案 ​ fnamtch模块提供了两个模块函数--fnamtch()和fnmatchcase(),可以用来实现这样的匹配。 from fnmatch import fnmatch 阅读全文
posted @ 2022-02-18 10:52 qiupeng 阅读(162) 评论(0) 推荐(0)