1. @符号
    c#字符串前使用@符号,“@”表示,跟在它后面的字符串是个“逐字字符串”。

     string x="D:\\My Huang\\My Doc";
    string y = @"D:\My Huang\My Doc"; //等效
  2. 基本语法
    \d 0-9数字
    \D \d的补集,即所有非数字的字符
    \w 单词字符,包括:大小写字符,0-9数字,下划线
    \W \w的补集
    \s 空白字符
    \S  \s的补集
    . 除换行符\n外的所有字符
    [...] 匹配[]内列出的所有字符
    [^...] 匹配非[]内列出的所有字符
    (...) 匹配组合,记录
    (?:...) 匹配组合,非记录
  3. 定位
    ^ 字符串开始
    $ 字符串结束
    \b 匹配一个单词的边界
    \B 匹配一个非单词边界
  4. 重复描述字符
    {n} 匹配前面的字符n次
    {n,}  匹配前面的字符大于等于n次
    {n,m} 匹配前面的字符n到m次
    ? 0到1次
    + 1到多次
    * 0到多次
  5. 组与非捕获组
    正则表达式引擎会记忆"()"中匹配到的内容,作为一个组,并且可以通过索引的方式进行引用。表达式中的"\1",用于反向引用表达式中出现的第一个组
     string x = "Find somebody to love me, Find somebody to love";
    Regex r = new Regex(@"^Find ([a-z]{8}) to ([a-z]{4}) me, Find \1 to \2$");
    // r.Matches(x).Count --> 1
    // Groups[0]是整个匹配的字符串,Groups[1]是组内的内容
    // r.Matches(x).Groups[1].Value --> somebody Regex r2 = new Regex(@"^Find (?<group1>[a-z]{8}) to ([a-z]{4}) me, Find \1 to \2$");
    // r2.Matches(x).Groups["group1"].Value string y = "Find somebody somebody";
    regex r3 = new Regex(@"(?<g1>[a-z]+) \1");
    if (r3.IsMatch(y))
    {
    y = r3.Replace(y, "${g1}");
    }
  6. 贪婪与非贪婪
    在*,+符号后添加?,可以将匹配模式改成非贪婪
  7. 忽略大小写
    Regex reg = new Regex(regPattern, RegexOptions.IgnoreCase);

[c#.Net]正则表达式 记录的更多相关文章

  1. swift 手机号码正则表达式 记录一下

    func isTelNumber(num:NSString)->Bool { var mobile = "^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$&qu ...

  2. python正则表达式记录

    元字符: *  星号   它指定前一个字符可以被匹配零次或更多次 >>> re.match('a[bcd]*b', 'abcbdabcd').group() 'abcb' >& ...

  3. 关于在Eclipse中使用正则表达式替换的一点记录(使用正则表达式的分组)

    今天在工作中遇到了点替换的麻烦事,由于数据类进行了变动,具体情况是这样的,需要将下面的代码: player.skillData[i].name 替换为: player.skillData.getSki ...

  4. MySQL之单表查询 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录数:LIMIT 九 使用正则表达式查询

    MySQL之单表查询 阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER B ...

  5. linux正则表达式回忆记录

    好久没用linux grep相关正则表达式,现在简单记录下. grep简介 grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.通常grep有三种版本grep.egr ...

  6. 【java 正则表达式】记录所有在java中使用正则表达式的情况

    本篇记录在java中邂逅正则表达式的所有美丽瞬间.因为在java和js中正则表达式的语法并不一致. 1.匹配字符串中有出现[2.1开头或者&2.1或者&3.1等的] Pattern m ...

  7. 【js 正则表达式】记录所有在js中使用正则表达式的情况

    说实话,对正则表达式有些许的畏惧感,之前的每次只要碰到需要正则表达式去匹配的情况,都会刻意的躲过或者直接从度娘处获取. 此时此刻,感觉到了某一个特定的点去触及她.但笔者对于正则表达式使用上的理解是这样 ...

  8. JS正则表达式,记录自己所学所用的内容

    还没接触正则表达式感觉确实有那么点难度,但接触到后自己琢磨了几天也没发现那么难. 现在教教刚学的或者还没接触正则表达式的同学们入入门,一起学习. 正则表达式基本语法 ***************** ...

  9. JS正则表达式学习记录

    JS:正则表达式学习记录 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

随机推荐

  1. React Native之ES5/ES6语法差异对照表

    很多React/React Native的初学者都被ES6的问题迷惑:各路大神都建议我们直接学习ES6的语法(class Foo extends React.Component),然而网上搜到的很多教 ...

  2. JNI之Hello World!

    基本流程: 1. 创建一个类(HelloWorld.java)2. 使用 javac 编译该类3. 利用 javah -jni 产生头文件4. 用本地代码实现头文件中定义的方法5. Run 备注:在一 ...

  3. 对象数组的初始化:null reference

    今天写代码的时候,发现我写的对象数组,只声明,而没有初始化,所以记录一下这个问题:null reference. Animals [] an=new Animals[5];//这只是个对象类型数组的声 ...

  4. NHibernate+MySql (erro 解决方法)

    error1.  Could not create the driver from NHibernate.Driver.MySqlDataDriver 解决方法:在使用Nhibernate连接Mysq ...

  5. Error (10663): Verilog HDL Port Connection error at led_demo.v(6): output or inout port "led" must be connected to a structural net expression

    错误现象:

  6. 深度增强学习--Policy Gradient

    前面都是value based的方法,现在看一种直接预测动作的方法 Policy Based Policy Gradient 一个介绍 karpathy的博客 一个推导 下面的例子实现的REINFOR ...

  7. struts2,action上传文件

    通过servlet实现文件上传,可以用用servlet接受到request的值的话:主要是这句话 List<?> items = upload.parseRequest(request); ...

  8. 开源框架Quartz动态加入、改动和删除定时任务 (二)

    貌似每次回过头去看之前写的一些东西,总感觉不是非常完美~~虽说不做完美人.但也要做完美事!这次主要是针对Quartz的动态维护和Spring集成.简单粗暴一点,直接上代码,有什么不了解留言交流 先来一 ...

  9. cocos2d-之音乐背景播放

    1.先加入头文件 #include <SimpleAudioEngine.h> using namespace CocosDenshion;//为了方便以下的函数使用,使用命名空间 2.在 ...

  10. 持续集成之代码质量管理-Sonar

    原文:http://blog.csdn.net/abcdocker/article/details/53840582 Sonar介绍 Sonar 是一个用于代码质量管理的开放平台.通过插件机制,Son ...