c#用正则表达式提取小括号中的内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#用正则表达式提取小括号中的内容相关的知识,希望对你有一定的参考价值。

本人编程新手菜鸟,求大神指导,谢谢 形如aaaaaaaaa(bbbbbb)jlkoihj字符串,提取括号中的内容,

给表达式加一个别名如下所示,就可以很简单的取到你想要的字符串了。

Regex rex = new Regex("(?<MYSTR>(.*))");
String str = rex.Match("aaaa(bbbbbb)jlkoihj").Groups["MYSTR"].ToString();
// 结果 (bbbbbb)

如不清楚可以Hi我。希望能帮到你!

/*
 2016-11-17 更新
 留言的朋友说取不到括号中的内容,更新下,如果一定要的是不包含括号的内容,变更下表达式就可以了。
 */ 
rex =  new Regex("((?<MYSTR>\\\\w+))");
String str1 = rex.Match("aaaa(bbbbbb)jlkoihj").Groups["MYSTR"].ToString();
// 结果 bbbbbb

参考技术A string str = "aaaaaaaaa(bbbbbb)jlkoihj";
string pattern = @"\(.*?\)";//匹配模式

Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);

MatchCollection matches = regex.Matches(str) ;

StringBuilder sb = new StringBuilder();//存放匹配结果

foreach (Match match in matches)

string value = match.Value.Trim('(', ')');
sb.AppendLine(value);


MessageBox.Show(sb.ToString());本回答被提问者和网友采纳
参考技术B rex = new Regex("(?<=\\\\()[^\\\\)]*(?=\\\\))");

Jmeter 使用正则表达式提取器将返回值全部保存到一个文件中

目标:将响应数据 "errorCode":0,"message":"success","data":null 中的message字段的值全部保存到一个文件中。

 

1.正则表达式提取器

正则表达式:提取内容的正则表达式【()表示提取,对于你要提取的内容需要用小括号括起来】

模板:用$$引用起来,如果在正则表达式中有多个提取表达式(多个括号括起来的),则可以是$1$,$2$等等,表示解析到的第几个值给str,正则表达式的提取模式,值从1开始,

匹配数字(0代表随机):0代表随机,-1代表所有,其余正整数代表将在已提取的内容中,第几个匹配的内容。(因为源数据可能有多个相匹配的内容,匹配数字就是匹配第几个相匹配的内容)

缺省值:正则匹配失败时,取的值

 

 2.BeanShell 后置处理程序

使用脚本将提取的数据输入到磁盘。

FileWriter fstream = new FileWriter("D:\\\\apache-jmeter-5.4.1\\\\bin\\\\结果\\\\响应结果.txt",true);
BufferedWriter out = new BufferedWriter(fstream);
out.write(vars.get("res")+"\\n");
out.close();
fstream.close();

保存的响应结果

 

如果想将响应数据 "errorCode":0,"message":"success","data":null 全部保存下来,

正则表达式使用:"errorCode":(.*?),"message":"(.*?)","data":(.*?)

模板使用:"errorCode":$1$,"message":"$2$","data":$3$

 

以上是关于c#用正则表达式提取小括号中的内容的主要内容,如果未能解决你的问题,请参考以下文章

php 正则表达式 提取字符串内小括号中的数字,只要数字

c# 正则表达式提取()中的值

一日一技:一个括号两种意思,正则表达式奇怪的小括号

正则表达式如何匹配提取括号中的内容

怎么用正则表达式匹配小括号里内容(含括号)?

C#取括号里面的值,正则表达式怎么写