首页 新闻 会员 周边

正则表达式怎么匹配到()里面的东西

0
悬赏园豆:15 [已解决问题] 解决于 2016-07-22 11:49

最近在写正则表达式遇到一个问题,因为要匹配的东西必须加上一些额外的表达式才能匹配到。但是我只想要其中的一部分

    外部表达(我想要的东西)外部表达式

我记得在vs 里面可以把  一部分内容用括号括起来 然后用$1输出。我发现在程序里面括号一样被解析了 但是请问我怎么拿到 里面的东西

我现在的做法是先正则,然后用字符串截取。只不过我觉得这样好蠢。。。

微风吹过12x的主页 微风吹过12x | 初学一级 | 园豆:73
提问于:2016-07-21 11:28
< >
分享
最佳答案
1
string s = "var config={var aaa};";
string pattern = @"\{(?<value>.*)\}";
Match m = Regex.Match(s, pattern);
if (m.Success)
{
    string value = m.Groups["value"].Value;
}

 

收获园豆:15
ArthurLi | 小虾三级 |园豆:686 | 2016-07-21 13:24

谢谢

微风吹过12x | 园豆:73 (初学一级) | 2016-07-22 11:49
其他回答(3)
0

举个例子吧还是。。。

顾晓北 | 园豆:10844 (专家六级) | 2016-07-21 11:29

外部表达式我想要的东西外部表达式

我要拿到“我想要的东西

但是必须 通过 外部表达式我想要的东西外部表达式 才能定位到

比如

var config={var aaa};

我想要 var aaa 里面的东西 

但是必须要通过 var config={.*};

才能匹配到。怎么获得

var config={(.*)};

里面的东西

支持(0) 反对(0) 微风吹过12x | 园豆:73 (初学一级) | 2016-07-21 11:42

@苟活的意义: 如果字符串截取可以做到,那就没必要非得用正则,技术没什么蠢不蠢的,况且,正则表达式如果字符串太长,是肯定不推荐正则的。。。

支持(0) 反对(0) 顾晓北 | 园豆:10844 (专家六级) | 2016-07-21 11:46

@顾晓北: 我是觉得 本来一个正则就可以解决的问题。没必要再写个字符串截取。

所以 现在告诉我 怎么拿到括号里面的东西吧

支持(0) 反对(0) 微风吹过12x | 园豆:73 (初学一级) | 2016-07-21 11:47
0

C#的捕获组 {(?<code>.*)}

 

长蘑菇星人 | 园豆:1832 (小虾三级) | 2016-07-21 11:47
0

正则式 (?<=var config={).*(?=};)

测试值 var config={var aaa};

匹配结果 var aaa

刘宏玺 | 园豆:14020 (专家六级) | 2016-07-21 15:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册