Regex 正则表达式查找和替换不在()之间的文本
我有一个升华文本的文本文件,看起来像这样Regex 正则表达式查找和替换不在()之间的文本,regex,replace,find,sublimetext3,Regex,Replace,Find,Sublimetext3,我有一个升华文本的文本文件,看起来像这样 line 1 line 2 line 3 (line 4) hello (line6) line 5 line 5 line 6 (line 6) 我想删除所有不在括号内的文本:(),同时保留括号内的内容 我写了这个正则表达式,但它选择括号内的所有内容,而不是括号外的所有内容 \([^)]*\) 有人知道解决这个问题的正确正则表达式吗 谢谢 更新:正则表达式不会匹配同一行上的第二次出现。匹配: 不情愿地从开始到括号或结尾 勉强地夹在括号中 贪婪地从
line 1
line 2
line 3
(line 4) hello (line6)
line 5 line 5
line 6 (line 6)
我想删除所有不在括号内的文本:(),同时保留括号内的内容
我写了这个正则表达式,但它选择括号内的所有内容,而不是括号外的所有内容
\([^)]*\)
有人知道解决这个问题的正确正则表达式吗
谢谢
更新:正则表达式不会匹配同一行上的第二次出现。匹配:
- 不情愿地从开始到括号或结尾
- 勉强地夹在括号中
- 贪婪地从头到尾
^.*?(\(|$)|\).*?\(|\).*
请参见(包括一条包含3个括号内术语的额外采样线)
替换为空白
如果要在此操作后删除空行,请将^\n
替换为空白。您可以使用
查找内容:[^()]*\([^()]*)\)[^()]*
替换为:
$1\n
请参阅和:
详细信息
-0个或更多字符,而不是[^()]*
和)
(
-a\(
字符(
-第1组(([^()]*)
):除$1
和(
之外的零个或多个字符)
-a\)
字符)
-0个或更多字符,而不是[^()]*
和)
)(
五
一行括号内是否可以有多个字符串?例如
第6行(第6行)第7行(第7行)第8行
。如果是,预期的输出是什么?似乎效果很好,但是我在同一行上有多个括号的问题,因此。例如,它只匹配第一个括号集,而不匹配第二个括号集。请查看更新主页。@user2883306我增强了正则表达式,以便在一行中处理任意数量的括号文本-se新的演示。