【发布时间】:2015-08-21 18:14:08
【问题描述】:
.NET Regex 中的等价物是什么
preg_replace("/\(([^()]*+|(?R))*\)/","", $string);
我总是在使用正则表达式时遇到困难,我尝试在 myregextester.com 上正确使用它,但我无法正确使用语法,所以它变成了这个..
1.0 (Mac OS X Mail 9.0 \(3083\))
进入
1.0
我想去掉 cmets(即使是嵌套的)
我正在使用它,但它不适用于嵌套的 cmets。
Dim regex As New Regex(String.Format("\{0}.*?\{1}", "(", "("))
Return regex.Replace(s, String.Empty)
【问题讨论】:
-
对不起,你为什么不直接使用这个:
\s*\(.*\) -
你想匹配平衡括号吗?
-
匹配嵌套结构 in Friedl's book p436:
\((?>[^()]+|\((?<DEPTH>)|\)(?<-DEPTH>))*(?(DEPTH)(?!))\) -
IISMathwizard 向导解决方案似乎可以满足我的需求 - 非常感谢。