python - 尝试让 python RegEx 删除括号 [ abc ] 之间的所有内容

标签 python regex

此正则表达式删除 $ $ 之间的所有内容,但不删除 [ ]

r"([$@*[\]()&?]).*?(.)"

我认为这与 [ 和 ] 不是同一个字符有关,但我不太确定出了什么问题。关于如何处理删除这些特殊字符 [ ] 之间并包括这些特殊字符 [ ] 之间的所有内容有什么想法吗?

enter image description here

https://regex101.com/r/pK9gX3/96

谢谢

最佳答案

您的正则表达式不起作用,因为在第二种情况下 \1 试图匹配 [。解决这个问题的一种方法是分别调用每个选项:

(\$[^$]*\$|\[[^]]*\])(.*)

Demo on regex101

请注意,这样做可以使第一组不被捕获,并将替换更改为 \1

关于python - 尝试让 python RegEx 删除括号 [ abc ] 之间的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58676893/

相关文章:

python - 替换所有连续重复的字母忽略特定单词

php - htaccess 使用 cname、vhosts 和 htaccess 将所有子域 + www 重定向到域

java - 将不同的模式与字符串匹配

javascript - 用于拆分字符串但捕获分隔符的正则表达式

python - 如何在树莓派上更新到最新的 python 3.5.1 版本?

python - 将列表随机划分为两个互补的子列表

python - 如何在 PRAW 中存储评论的深度?

Python 不允许我用正则表达式做 match.group()?

c# - 未排序数组中的最长连续序列

python - 在文本文件的指定位置插入行