zoukankan      html  css  js  c++  java
  • C#学习(5)——正则表达式的使用

    一  、正则表达式概念

      正则表达式是一种用来描述和操作文本的强大语言。正则表达式主要用于字符串,即一组字符。说白了就是对一堆字符的处理,包括搜索,改变等。

    二、正则表达式字符的整理

    基本的语法字符:
    /d  0-9的数字
    /D  /d的补集(以所以字符为全集,下同),即所有非数字的字符
    /w  单词字符,指大小写字母、0-9的数字、下划线
    /W  /w的补集
    /s  空白字符,包括换行符/n、回车符/r、制表符/t、垂直制表符/v、换页符/f
    /S  /s的补集
    .  除换行符/n外的任意字符
    […]  匹配[]内所列出的所有字符
    [^…]  匹配非[]内所列出的字符

    定位字符 :
    “定位字符”所代表的是一个虚的字符,它代表一个位置,你也可以直观地认为“定位字符”所代表的是某个字符与字符间的那个微小间隙。
    ^  表示其后的字符必须位于字符串的开始处
    $  表示其前面的字符必须位于字符串的结束处
    /b  匹配一个单词的边界
    /B  匹配一个非单词的边界
    另外,还包括:/A  前面的字符必须位于字符处的开始处,/z  前面的字符必须位于字符串的结束处,/Z  前面的字符必须位于字符串的结束处,或者位于换行符前

    重复描述字符 
    “重复描述字符”是体现C#正则表达式“很好很强大”的地方之一:
    {n}  匹配前面的字符n次
    {n,}  匹配前面的字符n次或多于n次
    {n,m}  匹配前面的字符n到m次
    ?  匹配前面的字符0或1次
    +  匹配前面的字符1次或多于1次
    *  匹配前面的字符0次或式于0次

    正则表达式修饰符

    i :如果在修饰符中加上"i",则正则将会取消大小写敏感性,即"a"和"A" 是一样的。 
    m:默认的正则开始"^"和结束"$"只是对于正则字符串如果在修饰符中加上"m",那么开始和结束将会指字符串的每一行:每一行的开头就是"^",结尾就是"$"。 
    s:如果在修饰符中加入"s",那么默认的"."代表除了换行符以外的任何字符将会变成任意字符,也就是包括换行符! 
    x:如果加上该修饰符,表达式中的空白字符将会被忽略,除非它已经被转义。 
    e:本修饰符仅仅对于replacement有用,代表在replacement中作为PHP代码。 
    A:如果使用这个修饰符,那么表达式必须是匹配的字符串中的开头部分。比如说"/a/A"匹配"abcd"。 
    E:与"m"相反,如果使用这个修饰符,那么"$"将匹配绝对字符串的结尾,而不是换行符前面,默认就打开了这个模式。 
    U:和问号的作用差不多,用于设置"贪婪模式"。

    择一匹配 
    C#正则表达式中的 (|) 符号似乎没有一个专门的称谓,姑且称之为“择一匹配”吧。事实上,像[a-z]也是一种择一匹配,只不过它只能匹配单个字符,而(|)则提供了更大的范围,(ab|xy)表示匹配ab或匹配xy。注意“|”与“()”在此是一个整体。

    参考:http://blog.vwen.com/post/3/

    Auther——峰烨

  • 相关阅读:
    python 模块特点
    python 对象类型有哪些?
    python 异常处理
    python urllib2查询数据
    哈希表之词频统计
    泛型 队列
    大小端存储
    收藏 去掉 html 标签的perl 小函数
    好玩 多线程 显示
    服务器客户端 之 文件下载
  • 原文地址:https://www.cnblogs.com/tjufengye/p/4441948.html
Copyright © 2011-2022 走看看