Python中文
首页
教程
问答
标签
搜索
登录
注册
Python:{n}匹配的意外正则表达式行为
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我已经在<a href="http://regexpal.com/" rel="nofollow">http://regexpal.com/</a>上测试了以下代码,它正确地匹配了我想要的字符串。我想找出16位数字,这些数字以4块为单位,中间有一个空格,因此我编写了以下正则表达式:</p> <pre><code>\d{4}(\s\d{4}){3} </code></pre> <p>例如,匹配4个数字,然后匹配一个空格的三个重复集,后跟四个数字。在regexpal上,它正确匹配:</p> <blockquote> <p>test1234 message<strong>1234 5678 1234 5678</strong></p> </blockquote> <p>但是,在Python中,我运行以下代码:</p> <pre><code>>>> import re >>> p = re.compile('\d{4}(\s\d{4}){3}') >>> p.findall('test1234 message1234 5678 1234 5678') [' 5678'] >>> </code></pre> <p>我不明白为什么它匹配的是第二个实例的'5678',为什么它不匹配的数字块,因为我预计。你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您需要在字符串前面加上<code>r</code>或转义反斜杠:</p> <pre><code>p = re.compile(r'\d{4}(\s\d{4}){3}') </code></pre> <p>或者</p> <pre><code>p = re.compile('\\d{4}(\\s\\d{4}){3}') </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
在python3中使用Scipy pearsonr函数
5 回答
在Python3中使用scipy对多个lorentzian进行数据拟合
10 回答
在Python3中使用Script=argv
2 回答
在python3中使用selenium webdriver进行未解析的回溯
10 回答
在python3中使用selenium和phantomjs的网页截图之前如何等待?
2 回答
在Python3中使用Selenium和Requests模块从网页获取文件
8 回答
在python3中使用SIGINT终止函数
9 回答
在Python3中使用SIGTERM时,允许进程完成而不是中断
10 回答
在python3中使用smtplib发送XML内容
1 回答
在python3中使用socket库(RFCOMM模式)重新连接蓝牙设备?
3 回答
在python3中使用sounddevice和numpy编写wav文件
4 回答
在python3中使用Sqlalchemy插入MySQL查找类型错误的原因
10 回答
在python3中使用sqlite、pandas和sqlalchemy很难让rollback工作
8 回答
在python3中使用SQLite的FTS3/4
6 回答
在Python3中使用struct.calcsize()和len()有区别吗?
5 回答
在python3中使用substring函数时发生TypeError
1 回答
在Python3中使用Tkinter entry小部件写入串行设备
6 回答
在python3中使用tkinter时,如何在每次按下函数时获得运行该函数的按钮?
4 回答
在python3中使用tkinter的子帧
5 回答
在Python3中使用tryexcept块时,如何避免使用未初始化的变量?
3 回答