[急切求助]关于字符串处理的正则表达式!!!要求:把下面串中的中括号里面的单词(或单个字符)抽出;
[aaa,bbb][ccc]a11[dd e]kk[g,"hh ii"]
抽取规则为:中括号里面单词(或单个字符)以空格或者逗号分隔,
如碰到引号,引号内的空格或逗号不起作用。抽取结果为:
aaa
bbb
ccc
dd
e
g
hh ii我只能抽取ccc,请高手帮忙啊,谢谢拉
(?<=\[)[a-zA-Z]{1,}(?=\])
[aaa,bbb][ccc]a11[dd e]kk[g,"hh ii"]
抽取规则为:中括号里面单词(或单个字符)以空格或者逗号分隔,
如碰到引号,引号内的空格或逗号不起作用。抽取结果为:
aaa
bbb
ccc
dd
e
g
hh ii我只能抽取ccc,请高手帮忙啊,谢谢拉
(?<=\[)[a-zA-Z]{1,}(?=\])
MatchCollection mc = Regex.Matches(test, @"(?<=\[[^\[\]]*"")[^""]*(?=""[^\[\]]*\])|(?<=\[[^\[\]]*)[a-z]+(?=[^\[\]]*\])", RegexOptions.IgnoreCase);
foreach (Match m in mc)
{
richTextBox2.Text += m.Value + "\n";
}
Regex reg=new Regex(@"((?<=\[)[a-z]+?\b)|(\b[a-z]+?(?=\]))|((?<=\[[^\]]*?"")[a-z\s]+?(?=""))");
string str="[aaa,bbb][ccc]a11[dd e]kk[g,""hh ii""]";
string rtnStr="";
foreach(Match m in reg.Matches(str))
{
rtnStr+=m.Value+"\r\n";
}输出结果rtnStr:
aaa
bbb
ccc
dd
e
g
hh ii