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

Posted

tags:

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

用正则表达式取括号里面的值

例如 string str= abc(123);
取出 str=123;

只要括号里面的值,用正则表达式怎么做?

参考技术A Regex reg = new Regex(@"\(([^)]*)\)");
Match m = reg.Match(str);
if(m.Success)
Response.Write(m.Result("$1"));本回答被提问者和网友采纳
参考技术B string str= "abc(123)";
Regex reg = new Regex(@"str=|\d3");
Match m = reg.Match(str);
Response.Write(m.Value);//此值便是你想要的:取出 str=123;
参考技术C string str = "absd(123)";
MatchCollection _MatchCollection = Regex.Matches(str, ".*?(?<num>[0-9]1,).*?", RegexOptions.IgnoreCase);
foreach (Match item in _MatchCollection)

MessageBox.Show(item.Groups["num"].Value);

正则表达式 RegExp 对象

正则表达式 RegExp 对象

  • 概念:通过特定符号组成表达式,并通过该表达式匹配字符串。
  • 好处:方便搜索、匹配字符串。
  • 缺陷:匹配、搜索速度不高。(复杂的表达式,解析效率不高)
  • 主要用于搜索、验证、匹配(或特殊环境使用)
  • 写法:/ /

[ ]

方括号:括号里的内容任取其一

表达式:

  • abc查找方括号之间的任何字符。
  • ^abc 查找任何不在方括号之间的字符。
  • [0-9] 查找任何从 0 至 9 的数字。
  • [a-z] 查找任何从小写 a 到小写 z 的字符。
  • [A-Z] 查找任何从大写 A 到大写 Z 的字符。
  • (red|blue|green) 查找任何指定的选项。

匹配次数:

  • * 星号,匹配 0-n 次
  • + 加号,匹配 1-n 次
  • ? 问号,匹配 0-1 次
  • { } 花括号,指定匹配次数; {0,6}或{,6}——0~6次;{6,}——至少6次;{6}——只能6次

    let pattern=/c[abcd]t/;
    let str=cat;
    console.log(pattern.test(str));  // true;   test关键字,方法

     

完整匹配:/^...$/ ^:以^开头; $:以$结尾。

let pattern=/^c[abcd]+t$/;
let str=cat;
console.log(pattern.test(str));  // true;   

 

修饰符

  • i : 对大小写不敏感
  • // let pattern=/^c[abcd]+t$/i;
  • g : 全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

元字符

有特殊含义的字符

  • . 一个点,查找单个字符,除了换行和行结束符。

  • \w查找单词字符(数字、字母、下划线)

  • \W 查找非单词字符

  • \d 查找数字。0-9

  • \D 查找非数字字符

  • \s 查找空白字符(空格、换行...)

  • \S 查找非空白字符

  • \b 匹配单词边界

  • \B 匹配非单词边界

  • \n 查找换行符

正则方法

  • exec:检索字符串中指定的值。返回找到的值,并确定其位置。

    let pattern=/love/g;
    let str="I love Js,I love Js,I love Js";
    console.log(pattern.test(str)); //找到第一个love
    patt.lastIndex=0; // 重置上一次输出结果
    console.log(pattern.test(str));  //加上g,找到第二个love;不加上g,还是第一个love

     

    lastIndex:RegExp 对象属性;一个整数,标示开始下一次匹配的字符位置。

支持正则表达式的String对象的方法

  • split:把字符串分割为字符串数组。

    let patt=/love/g;
    let str="I love Js,I love Js,I love Js";
    console.log(str.split(‘‘)); 
    console.log(str.split(/\s+\)); 

     

  • search:检索与正则表达式相匹配的值。忽略g标记,只返回第一次匹配的值。

    let pattern=/love/g;
    let str="I love Js,I love Js,I love Js";
    console.log(str.search(patt)); 

     

  • match:找到一个或多个正则表达式的匹配。没有g,输出第一次匹配的值;加上g,所有匹配的值

    let pattern=/love/g;
    let str="I love Js,I love Js,I love Js";
    console.log(str.match(patt)); 

     

  • replace替换与正则表达式匹配的子串。加上g,全部换掉。

    let pattern=/love/g;
    let str="I love Js,I love Js,I love Js";
    console.log(str.replace(patt,)); 

     

 

  正则表达式:多用于做验证、匹配、搜索;熟悉各种符号表达的含义,正则方法的使用;修饰符i/g使用后的变化

以上是关于C#取括号里面的值,正则表达式怎么写的主要内容,如果未能解决你的问题,请参考以下文章

求一条c# 正则表达式,来获取HTML标签的内容

C#正则表达式指定替换

php用正则表达式怎么取双引号里面的内容??

js正则 变量中括号

怎样在scala正则表达式提取器中使用小括号

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