• 正则表达式(一)


    正则表达式是对字符串进行操作的。

    正则表达式元字符:
    .表示除\n(换行)之外的任意的当字符
    []字符组。任意的单个字符,中括号中的任意一个字符
    ()的含义:改变优先级。提取分组
    如果中括号中加—没有办法区分,。最好前面加上一个反义字符
    限定符:{n}表示前面的表达式必须出现n次
    {n ,}表示前面的表达式最后最少出现n次,最多不限
    {n,m}至少出现n次,最多出现m次
    *表示出现0次或多次
    +表示出现1次或多次
    ?表示0次或1次。?的另外一个意思是:终止贪婪模式。    
    ^与$
    ^表示一个字符串的开始。字符串必须以hiello开头
    $表示字符串的结束
    A$字符串的结束。必须以A结束
    A[^0-9]b指的是a到b之间除了0到9的所有字符
    ^有两个意思:^abc匹配一个正则表达式的开始
    另外一个就是上面表示!非的意思,加在中括号内。

    简写的表达式:
    A\db  :表示A与b之间需要时0到9的数字,\d是【0-9】的缩写\d也匹配全角的字符
    \D表示除了0-9之外的所有的字符  
    \s表示所有空白符()
    \S表示非空白字符
    \w[a-za-zA-Z]  \w也可以匹配汉字
    \b表示的是单词的边界


    需要注意的地方是:
    由于.net默认采用unicode的匹配方式,所以\d也匹配全角的方式
    RegexOprons.ECMAScript表示按照ASCII的方式来匹配。
    ^z|food$由于|的优先级别比较低,所以比较的是以z开头或以food结尾的字符串。
    一般字符串提取时不需要加^s,因为要在字符处中找出一部分和该正则表达式匹配
    \b属于断言的一种,只判断是否匹配,\b是单词的边界,要求必须为单词。


    正则表达式相关方法:
    sMatch表示只要整个字符串中有任何一部分可以匹配,该正则表达式返回
    Bool b=Regex.IsMatch(postcod,"^[0-9]{6}$")
    Match对象就是找到的一个匹配对象。Match方法只会找到第一个匹配的字符串,并提取。
    Match match=Regex.Math(msd,regex)
    如果想匹配多个,则用matches
    虽然可以对matches进行遍历,返回的东西是一个集合。但是最好用if(item.success)这样会保险很多。
    Matchcollection html=File.ReadAllTexr("");
    MatchCollection matches=Regex.Miathes(html,匹配的串)

    Matches.count返回匹配的个数
    ()将匹配的字符串进行分组:
    正则表达式的每个()具有两重含义:1.改变优先级2.提取组
    item.Groups[0].Value
    item.Value等同于itme.Group[0]
    从左往右数(是第几次出现,则分在第几组中
    提取组:在正则表达式中添加()来分组。2.

  • 相关阅读:
    Linux下PCI设备驱动程序开发 PCI驱动程序实现(三)
    一个动态内存管理模块的实现
    【Linux device driver】设备驱动程序概述(一)
    Linux PCI设备驱动程序开发 PCI 体系结构(一)
    [linux driver]用I/O命令访问PCI总线设备配置空间
    【Linux device driver】网络设备驱动程序(二)
    【Linux device driver】网络设备驱动注意的问题(三)
    C++中的引用、const引用和非const引用
    C++的数组和指针
    “指向const对象的指针” 和 “const指针”
  • 原文地址:https://www.cnblogs.com/hanwenhuazuibang/p/2964137.html
Copyright © 2020-2023  润新知