假设我要更改the blue dog and blue cat wore blue hats
为the gray dog and gray cat wore blue hats
。
通过sed
我可以做到这一点,如下所示:
$ echo 'the blue dog and blue cat wore blue hats' | sed 's/blue \(dog\|cat\)/gray \1/g'
如何在Python中进行类似的替换?我试过了:
>>> import re
>>> s = "the blue dog and blue cat wore blue hats"
>>> p = re.compile(r"blue (dog|cat)")
>>> p.sub('gray \1',s)
'the gray \x01 and gray \x01 wore blue hats'
Change is inevitable, except from vending machines. — Robert C. Gallagher Puppet 的 regsubst 函数提供了一种处理文本的简单方法, 用于在字符串中查找和替换,或者从字符串提取匹配的模式。 例如,我们通常需要对从 facter 或者从外部程序获得的数据做这样的处理。 在本例中将会看到如何使用 regsubst 提
问题内容: 我需要替换字符串的一部分。我浏览了Python文档并发现了re.sub。 我期望这能打印,而不是“酒吧”。 谁能告诉我我做错了什么? 问题答案: 除了捕获要 替换 的零件外,您还可以捕获要 保留 的零件,然后使用引用对其进行引用以将它们包括在替换字符串中。 尝试以下方法: 另外,假设这是HTML,则应考虑使用HTML解析器来执行此任务,例如Beautiful Soup 。
问题内容: 有什么方法可以用捕获组的已修改内容替换正则表达式? 例: 我想用$ 1乘以3代替所有出现的情况。 编辑: 看起来好像出了点问题:( 如果我用 引发IllegalStateException:找不到匹配项 但 工作正常,但我不能更改$ 1 :( 问题答案: 要获得第一场比赛,请使用。之后,你可以用来引用此第一个匹配项,并将所有匹配项替换为第一个匹配值乘以3。 如果你想将每个匹配项替换为该
我想以firstName和lastname的形式获得输出。怎么用正则表达式做,有什么想法吗?
问题内容: 我已将一些定价数据读入pandas数据框中,其值显示为: 我想将其简化为数字值。我知道我可以遍历并应用正则表达式 到每个字段,然后将结果列表重新组合在一起,但是有没有一种循环的方式? 谢谢 问题答案: 您可以使用删除所有非数字: regex101演示
问题内容: 我想有一个正则表达式模式来匹配表情符号“ :)”,“ :(”。此外,它还应捕获重复的表情符号,例如“ :) :)”,“ :) :(”,但过滤掉无效的语法,例如“ :( (“。 我有这个,但它匹配“ :((” 我可能在这里遗漏了一些明显的东西,希望为这个看似简单的任务提供帮助。 问题答案: 我认为它终于“点击了”您所要询问的内容。看一下下面的内容: 您原始代码的问题是您的正则表达式是错误