python - 一个简单的正则匹配问题
问题描述
In [33]: re.match(’ab*c’,’ab*cd’)Out[33]: <_sre.SRE_Match object; span=(0, 4), match=’ab*c’>
如上,没想明白为什么能匹配到,我的匹配模式中不是使用’’将’’转义成了字符串了吗,为什么最后还能匹配到结果??谢谢!!
问题解答
回答1:Regular expressions use the backslash character (’’) to indicate special forms or to allow special characters to be used without invoking their special meaning. This collides with Python’s usage of the same character for the same purpose in string literals; for example, to match a literal backslash, one might have to write ’’ as the pattern string, because the regular expression must be , and each backslash must be expressed as inside a regular Python string literal.
其实也没看懂你到底要匹配哪种模式,不过你的问题上面的应该可以解决。建议用raw string。
回答2:’ab*c’
这个规则在 compile 之后确实就是
’ab*c’ // 这里*表示匹配`*`这个字符
那么当然可以匹配目标字符串 ab*cd 中的 ab*c
回答3:不想匹配到就加个 r。
re.match(r’ab*c’,’ab*cd’)
相关文章:
1. javascript - react 中绑定事件和阻止事件冒泡2. css3 - css line-height和font-size高度问题,谁能帮忙解释一下呢3. 一道使用算法解决的java题(关于hashmap的问题)4. java - .jsp页面用<%= %>的方式获取数据存在一个很奇怪的问题5. 老师你好 请求帮助 在选择版本和颜色出错 选择第二个的时候默认选项颜色不恢复原来的颜色6. javascript - requestAnimationFrame如何控制帧速?7. css3 - border-bottom 的长度可否超过盒子的宽度呢?实现如下图效果。(我的书下面的线)8. javascript - git clone 下来的项目 想在本地运行 npm run install 报错9. java - umeng分享中遇到找不到方法10. sping - Spring注入,在XML配置中引用JavaConfig,结果找不到Config中的bean

网公网安备