读书人

求正则表达式~该如何处理

发布时间: 2012-01-10 21:26:51 作者: rapoo

求正则表达式~
^abc^def^ghi^jkl^mnopqrst^
给定了以上字符串,如何把两个 "^ "中的内容用正则表达式解析出来?
结果应该为
abc
def
ghi
jkl
mnopqrst
谢谢~~!!

[解决办法]
这样 不需要 正则吧
string a = "^abc^def^ghi^jkl^mnopqrst^ ";
string[] myArr = a.Split( '^ ');
[解决办法]
正则表达式可以用这个 @ "\^([^\^]+)\^ ";
[解决办法]
正则表达式可以用(? <=\^).*?(?=\^)

就你这一问题,可以这样做

string yourStr = "^abc^def^ghi^jkl^mnopqrst^ ";
string resultStr = Regex.Replace(yourStr, @ "(? <=\^)(.*?)(?=\^) ", "$1\n ").Replace( "^ ", " ");

或者
string yourStr = "^abc^def^ghi^jkl^mnopqrst^ ";
MatchCollection mc = Regex.Matches(yourStr, @ "(? <=\^)(.*?)(?=\^) ", RegexOptions.IgnoreCase);
foreach (Match m in mc)
{
richTextBox1.Text += m.Groups[1].Value + "\n ";
}
[解决办法]
@ "\^([^\^]+)\^ " 会漏掉

楼上的正确
foreach (Match m in Regex.Matches(yourStr, @ "(? <=\^)(.*?)(?=\^) "))
richTextBox1.AppendText(m.Result( "$1 ") + "\r\n ");

读书人网 >C#

热点推荐