RegEx,选择任何不在括号内的内容
在RegEx中,我如何选择括号之外的内容: 例如RegEx,选择任何不在括号内的内容,regex,Regex,在RegEx中,我如何选择括号之外的内容: 例如 Xxxxxxx(01010101)将返回Xxxxxxx 谢谢 对于现有样本,这将执行以下操作: (.+) \( 在拆分或java.util.Scanner等中,使用\([^)]*\)作为分隔符,或仅使用它替换为“” 在Java中: System.out.println(Arrays.toString( "abc(xyz)def(123)".split("\\([^)]*\\)")) ); // prints "[
Xxxxxxx(01010101)
将返回Xxxxxxx
谢谢 对于现有样本,这将执行以下操作:
(.+) \(
在拆分
或java.util.Scanner
等中,使用\([^)]*\)
作为分隔符,或仅使用它替换为“”
在Java中:
System.out.println(Arrays.toString(
"abc(xyz)def(123)".split("\\([^)]*\\)"))
); // prints "[abc, def]"
System.out.println(
"abc(xyz)def(123)".replaceAll("\\([^)]*\\)", "")
); // prints "abcdef"
在Python中:
import re
def removeparens(inputstring):
return re.sub(r"\([^)]*\)", "", inputstring)
将在Paren从不嵌套的情况下提供此功能。您始终可以删除所有与
\([^)]+\
@David:\\([^)]+\\)
匹配的内容。因此注释格式显然删除了反斜杠…@Smickie:请提供更多示例。最重要的问题是:paren可以嵌套吗?对于像这样的任意嵌套,保留这个(删除这个(还有这个(还有这个))
在大多数正则表达式实现中,正则表达式解决方案是不可能的。@Tim:当然,你在开玩笑。我的回答涉及到这个例子,没有任何问题。加上懒惰的人quantifier@SilentGhost当前位置关于你的解决方案,我什么也没说。误会?