所有
C#,Regex 我需要正则表达式,它需要提取括号括起来的任何字母数字值。关于括号的注意事项:每一侧可以有任意数量的括号,但每一侧的括号数匹配(见下面的例子)。
实施例。值(从每个括号中提取'1'的值):
(1) - > 1
((1)) - > 1
(((1))) - > 1
我有这个表达但显然是错误的,不知道如何保留()等之间的值。
\\(([^)]*)\\)
答案 0 :(得分:2)
只需使用Replace();
default
答案 1 :(得分:1)
你必须使用正则表达式吗?
正如Victor在评论中所说,为什么不简单
var number = someString.Replace("(", String.Empty).Replace(")", String.Empty);
或者,使用LastIndexOf
和IndexOf
以及"("
和")"
以及Substring
来确定值的位置。
答案 2 :(得分:0)
\(([0-9a-zA-Z]+)\)
匹配括在单个括号中的所有字母数字字符串。如果你还要检查每一侧的括号数(从问题中不清楚),正则表达式不是最好的选择。