Python中文
首页
教程
问答
标签
搜索
登录
注册
有没有一种方法可以引用中的整个匹配表达式回复sub不使用组?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>假设我想用<code>\</code>这样的字符在某个特定表达式的所有出现处前面加上前缀。你知道吗</p> <p>在<code>sed</code>中,它看起来是这样的。你知道吗</p> <pre><code> echo '__^^^%%%__FooBar' | sed 's/[_^%]/\\&/g' </code></pre> <p>请注意,<code>&</code>字符用于表示原始匹配表达式。你知道吗</p> <p>我已经查看了<a href="https://docs.python.org/2/library/re.html" rel="nofollow">regex docs</a>和<a href="https://docs.python.org/2/howto/regex.html" rel="nofollow">regex howto</a>,但是我没有看到一个等价于<code>&</code>字符的字符可以用来替换匹配的表达式。你知道吗</p> <p>我发现的唯一解决方法是使用额外的一组<code>()</code>对表达式进行分组,然后引用该组,如下所示。你知道吗</p> <pre><code>import re line = "__^^^%%%__FooBar" print re.sub("([_%^$])", r"\\\1", line) </code></pre> <p><strong>有没有一种干净的方法来引用整个匹配的表达式而不创建额外的组?</strong></p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>也可以使用<a href="http://www.regular-expressions.info/lookaround.html" rel="nofollow">Positive lookahead</a>得到结果。你知道吗</p> <pre><code>>>> print re.sub("(?=[_%^$])", r"\\", line) \_\_\^\^\^\%\%\%\_\_FooBar </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
为什么我的神经网络模型的准确性不能在这个训练集上得到提高?
10 回答
为什么我的神经网络模型的权重变化不大?
1 回答
为什么我的神经网络的成本不断增加?
10 回答
为什么我的神经网络的输入pickle文件是19GB?
8 回答
为什么我的神经网络给属性错误?“非类型”对象没有属性“形状”
7 回答
为什么我的神经网络训练这么慢?
7 回答
为什么我的神经网络输出错误?
3 回答
为什么我的神经网络预测适用于MNIST手绘图像时是正确的,而适用于我自己的手绘图像时是不正确的?
1 回答
为什么我的神经网络验证精度比我的训练精度高,而且它们都是常数?
7 回答
为什么我的私人用户间聊天会显示在其他用户的聊天档案中?
1 回答
为什么我的积分的绝对误差估计值大于积分(使用scipy.integrate.nqad)?
1 回答
为什么我的积层回归器得分比它的组件差?
6 回答
为什么我的移动方法不起作用?
5 回答
为什么我的稀疏张量不能转换成张量
2 回答
为什么我的稀疏张量不能转换成张量?
6 回答
为什么我的程序“停止”了?
7 回答
为什么我的程序一直试图占用所有可用的CPU
5 回答
为什么我的程序不使用指定的代理
1 回答
为什么我的程序不工作(python帮助中的反向函数)?
5 回答
为什么我的程序不工作时,我使用多处理模块
2 回答