正则表达式(一)

    技术2022-05-19  21

    一、测试环境及工具

     

    不同的环境下正则表达式的一些细节是不相同的,这里介绍的是微软 .Net Framework 2.0下正则表达式的行为。可以选用Regex Tester工具来测试。首先确保已安装 .Net Framework 2.0,然后下载Regex Tester,解压缩后直接运行Regex Tester.exe 即可。

     

     

    二、正则表达式简介

     

    1. 元字符

     

    /d         匹配数字

    /w        匹配字母、数字、下划线、汉字

    /s         匹配任意空白符,包括空格(space)、制表符(tab)、换行符、中文全角空格符等

    .           匹配除换行符以外的任意字符 

    /b         匹配单词的开始或结束

    ^          匹配字符串的开始,如果是多行正则表达式,匹配每行的开始

    $          匹配字符串的结束,如果是多行正则表达式,匹配每行的结束 

    ()          指定 () 内的内容为一个子表达式

     

     

    2. 次数限定符

     

    *          重复零次或更多次

    +          重复一次或更多次

    ?          重复零次或一次

    {n}      重复n次

    {n,}     重复n次或更多次

    {n,m}  重复n到m次(包括n次和m次)

     

     

    3. 指定字符范围,用 [] 表示

     

    例如[0-9] 表示数字[0-9a-zA-Z] 表示数字或英文字母,[aeiou] 表示英文元音字母,[.?!] 表示匹配 . 或 ? 或 ! 的标点。

     

     

    4. 反义代码

     

    /S        匹配任意不是空白字符的字符

    /D        匹配任意非数字的字符

    /W       匹配任意不是字母、数字、下划线、汉字的字符

    /B        匹配不是单词开头或结束的位置

    [^a]    匹配a以外的任意字符

     

    例如 /S+ 表示不含空格的字符串<a[^>]+> 表示用 <> 括起来的以a开头的字符串。

     

     

    5. 转义符 / ,C#中也可用@,例如 /* 表示 * 本身

     

     

    6. 分支条件

     

    若有几种规则,满足其中一种即可时,用分支条件符号 | 连接正则表达式。使用分枝条件时注意各条件的顺序,比如美国邮编的规则是5位数字,或者用连字号间隔的9位数字,正则表达式应写成 /d{5}-/d{4}|/d{5}不能写成 /d{5}|/d{5}-/d{4}。ip地址的正则表达式可以写成 ((2[0-4]/d|25[0-5]|[01]?/d/d?)/.){3}(2[0-4]/d|25[0-5]|[01]?/d/d?)


    最新回复(0)