Python中文
首页
教程
问答
标签
搜索
登录
注册
在Python regex中,一个与正向前瞻断言匹配的whitesape如何出现在最终匹配的字符串中?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>为了回答<a href="https://stackoverflow.com/q/6859763/287976">this question</a>,我创建了这个Python正则表达式,以匹配任何<code>egg</code>子字符串,后跟一个不属于前面带有<code>http://</code>的URL的数字:</p> <pre><code>>>> r = re.compile('(?:\s(?!http://\S*))egg\d') </code></pre> <p>然后我将其应用于以下字符串:</p> <pre><code>>>> a = "a egg1 http://egg2.com egg3 http://www.egg4.org egg5" </code></pre> <p>结果是:</p> <pre><code>>>> r.findall(a) [' egg1', ' egg3', ' egg5'] </code></pre> <p>正则表达式对于很多其他问题都是不正确的,但是还有一个问题:为什么结果中会出现空格?既然我使用了像<code>(?:\s...)</code>这样的先行断言,那么它不应该从结果字符串中去掉吗?你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p><code>(?:...)</code>不是一个前瞻性断言,它只是一个非捕获的paren对(即,内部子regex匹配的内容不会进入它自己的组,它只存在于优先级中)。<code>(?=...)</code>是一个先行断言。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
对从字符串的偶数位置返回最大整数的函数进行编码时出现问题
3 回答
对从数据库中选择的值进行类型测试
2 回答
对从数据库获取的线程注释进行分组
2 回答
对从文件中读取的列表进行排序?
2 回答
对从文件对话框加载图像有什么建议吗?
8 回答
对从文件导入的列表排序。。。Python
6 回答
对从文档中提取的数字列表调用sum()
4 回答
对从查询中提取的distict值进行排序
4 回答
对付布劳斯特_handlers.BlobstoreUploadHand
8 回答
对代码和变量使用dict
1 回答
对代码对象使用uncompyle6的正确方法是什么?
4 回答
对代码段的所有更改的时间表,以恢复b
9 回答
对代码的小改动会产生AttributeError(Python、Networkx)
4 回答
对以“test\开头的文件名也执行pydocstyle
6 回答
对以append模式打开的Python文件对象调用tell()如果不是手动查找,则返回0
2 回答
对以下代码中~的函数感到好奇
7 回答
对以十为单位的输入应用规范化
6 回答
对以完全相同的方式相互引用的两个列表(整数和卡片对象列表)进行排序
7 回答
对以数字开头的列运行Pandas查询(Python 3)
10 回答
对以连字符开头的参数使用python argparse模块
3 回答