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

作者&投稿:雪狐 (若有异议请与网页底部的电邮联系)
C#使用正则表达式获取小括号内的内容~

System.Text.RegularExpressions.Regex.Replace(@"fasfasf(aaa)dasdas", @"(.*\()(.*)(\).*)", "$2")

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;//引入命名空间

namespace testRex
{
class Program
{
static void Main(string[] args)
{
string text = "[[字符串1|字符串2]]";
string pattern = "\\[\\[(.*?)\\|(.*?)\\]\\]";//正则,[]|都是保留字符,所以要转义,.net \本身是转义字符,所以要用\\
MatchCollection mc = Regex.Matches(text, pattern);
Console.WriteLine("Number of matches found : {0}", mc.Count);

// Enumerated all the matches.
foreach (Match m in mc)
{
Console.WriteLine("Sentence containing John as 7th word: {0}", m.Groups[1].Value);
}
Console.ReadLine();
}
}
}

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

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


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());

rex = new Regex("(?<=\\()[^\\)]*(?=\\))");



林芝地区17346976659: c#用正则表达式提取小括号中的内容 -
胡复复方: 给表达式加一个别名如下所示,就可以很简单的取到你想要的字符串了.123 Regex rex = newRegex("(?<MYSTR>(.*))"); String str = rex.Match("aaaa(bbbbbb)jlkoihj").Groups["MYSTR"].ToString();// 结果 (bbbbbb) 如不清楚可以Hi...

林芝地区17346976659: C#使用正则表达式获取小括号内的内容
胡复复方: System.Text.RegularExpressions.Regex.Replace(@"fasfasf(aaa)dasdas", @"(.*\()(.*)(\).*)", "$2")

林芝地区17346976659: c#利用正则表达式取出括号中的内容,可能会有多个括号重叠 -
胡复复方:[答案] 不涉及到括号嵌套这样就可以取出来了. var regex = new System.Text.RegularExpressions.Regex(@"\((?.)\)"); var v = regex.Match("(abc)cd(deg)xsw(sxws)").Groups["v"]; Console.Write(v);

林芝地区17346976659: C#取括号里面的值,正则表达式怎么写 -
胡复复方: string str= "abc(123)"; Regex reg = new Regex(@"str=|\d{3}"); Match m = reg.Match(str); Response.Write(m.Value);//此值便是你想要的:取出 str=123;

林芝地区17346976659: C# 正则表达式 括号内的东西取出
胡复复方: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions;//引入命名空间 namespace testRex { class Program { static void Main(string[] args) { string text = "[[字符串1|字符串...

林芝地区17346976659: 如何用正则表达式匹配小括号里面的内容 -
胡复复方: 参考一下:public static void main(String[] args) { String content = "(hello)"; String regex = "(?<=\\().*(?=\\))"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(content); while (m.find()) { System.out.println(m.group()); } }

林芝地区17346976659: C#获取dataGridView单元格括号内的内容 -
胡复复方: 用正则表达式\(([\d]+[^\)]+) 取所有括号内内容,用 (?<x>[\d\.]+) (?<y>[\d\.]+)取每个位置点可以不取括号内内容,只用后一个全部一次性取出来

林芝地区17346976659: C#如何使用正则表达式提取超链接中的文字部分?就是<a>文字部分</a>中间的文字. -
胡复复方: string html = 要匹配的字符串; Regex reg = new Regex(@"<a\s*[^>]*>([\s\S]+?)</a>", RegexOptions.IgnoreCase); Match m = reg.Match(html); while(m.IsSuccess){ string innerHTML = m.Result("$1");// 得到正则的括号里的内容,就是a的...

林芝地区17346976659: c# 怎么把字符串中不固定位置的内容提取出来? -
胡复复方: 你的方括号会出现多次吗.类似[aaa]bbb[dfd]eeee[bbbbbb] 如果只出现一次,那就非常简单了 string str = "12122[AAA2]BBBCCC"; string [] newArray= str.Split(new char[] {'[',']' }); //这里会把字符串分成3个部分,两个括号中间的字符串一定在第二个.也就是newArray[1]可以取到值.如果括号会出现多次可能还需要其他解决方案,有空在帮你想 foreach (string item in newArray) { Console.WriteLine(item); }

林芝地区17346976659: c#使用正则表达式提取内容 -
胡复复方: string srcString = " identifier {9dea862c-5cdd-4e70-acc1-f32b344d4795} device partition=C:description Windows Boot Manager locale zh-HK inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e} integrityservices Enable default {ae321ed2-5be2-...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网