首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

正则表达式 帮忙看下解决方法

2012-05-05 
正则表达式 帮忙看下C# code string[] strs css.Split(|)foreach (string str in strs){if (str.Trim

正则表达式 帮忙看下

C# code
 string[] strs = css.Split('|');            foreach (string str in strs)            {                if (str.Trim() == "") continue;                Regex reg = new Regex(@"^(?<key>\w+)\{(?<val>.*?)\}$", RegexOptions.IgnoreCase);                Match m = reg.Match(str.Trim().ToLower());                //if (m.Success)                //{                    string key = m.Groups["key"].Value;                    string val = (m.Groups["val"].Value.Trim());                   ...                   ...                   ....


主要是想问 Regex reg = new Regex(@"^(?<key>\w+)\{(?<val>.*?)\}$", RegexOptions.IgnoreCase);
这里的正则是什么意思


注: 上面代码只是一部分, 变量css是个很长的字符串

[解决办法]
看不懂
[解决办法]
类似如下格式的,当然当且仅当开头结尾符合时才有效
C# code
 string tempStr = @"关键字{值}";                string pattern = @"^(?<key>\w+)\{(?<val>.*?)\}$";                foreach (Match m in Regex.Matches(tempStr, pattern))                {                    //循环输出                    string key = m.Groups["key"].Value;//关键字                    string val = m.Groups["val"].Value;//值                }
[解决办法]
^表示匹配一个表达式的开始,$表示结束。。<key>在正则表达式中五特殊意义,也就是说这个在要匹配的字符串中必须有这个。\w表示[A-Za-z0-9_]即大写的A到大写的Z和小写的a-z还有0-9或者下划线(_)中的任意一个字符。但是这个段表达式被放在(?)内部,也就是说这个是可有可无的。\{\}表示该字符必须要有内部同前面的一样!
[解决办法]
探讨

^表示匹配一个表达式的开始,$表示结束。。<key>在正则表达式中五特殊意义,也就是说这个在要匹配的字符串中必须有这个。\w表示[A-Za-z0-9_]即大写的A到大写的Z和小写的a-z还有0-9或者下划线(_)中的任意一个字符。但是这个段表达式被放在(?)内部,也就是说这个是可有可无的。\{\}表示该字符必须要有内部同前面的一样!

[解决办法]
<key>和<val> key和val 确实可以任意命名【符合命名规则】

但是下面的 key和val 必须和上面对应起来
//循环输出
 string key = m.Groups["key"].Value;//关键字
string val = m.Groups["val"].Value;//值

热点排行