string str = "fjdsklfjlk65412d(a(b)c)1f1d0";
Match m = Regex.Match(str, @"(?<=.*\()(?<content>.*)(?=\).*)", RegexOptions.IgnoreCase);
if (m.Success)
{
str = m.Groups["content"].Value;
}
Response.Write(str);
Match m = Regex.Match(str, @"(?<=.*\()(?<content>.*)(?=\).*)", RegexOptions.IgnoreCase);
if (m.Success)
{
str = m.Groups["content"].Value;
}
Response.Write(str);
str = "(2*(1+1))";
str = str.Remove(0, 1);
str = str.Remove(str.Length-1, 1);
Response.Write(str);
string str = "fjdsklfjlk65412d(a(b)c)1f1d0";
Match m = Regex.Match(str, @"(?<=\().*(?=\))");
if (m.Success)
MessageBox.Show(m.Value);
第二个 ^[^\(\)]*\((?<content>[\s\S]*)\)[^\)\(]*$
Groups["content"]
如果提取楼主举例的"fjdsklfjlk65412d(a(b)c)1f1d0"还是可以的.但如果你的意思只是去掉最外面的括号则不行,如:
"fjdsklfjlk65412d(a(b(d))c)1f1d0",提取出来将是:b(d)
----------------------------------------------------
改一下:
"(?=\()(?<content>.*)(?<=\))"
正则式: var rx=/.*?\((.+)\).*/<script language="javascript">
var s1="fjdsklfjlk65412d(a(b)c)1f1d0"
var s2="(2*(1+1))";var r1 = s1.replace(rx, "$1")
var r2 = s2.replace(rx, "$1")
alert(r1);
alert(r2);
</script>
var s1="fjdsklfjlk65412d(a(b)c)1f1d0"
var s2="(2*(1+1))";
var rx=/.*?\((.+)\).*/
var r1 = s1.replace(rx, "$1")
var r2 = s2.replace(rx, "$1")
alert(r1);
alert(r2);</script>