zoukankan      html  css  js  c++  java
  • C#正则表达式

    正则表达式语法表示的字符类

    \d        从0~9的任一数字
    \D        非数字字符
    \w        任一单词字符,如A-Z、a-z、0-9和下划线字符
    \W       非单词字符
    \s         任一空白字符,包括了制表符,换行符,回车符
    \S         任一非空白字符
    .           任一字符
    [...]       括号中的任一字符
    [^...]    非括号中的任一字符

    指定匹配位置
    ^          其后的模式必须在字符串的开始处
    $           前面的模式必须在字符串的末尾处
    \A          前面的模式必须在字符串的开始处,多行标志被忽略
    \z          前面的模式必须在字符串的末尾处,多行标志被忽略
    \Z          前面的模式必须位于字符串的末尾,或是位于换行符前
    \b           匹配一个单词边界
    \B           匹配一个非单词边界的位置,不在一个单词的开始

    指定重复字符
    {n}        匹配前面的字符n次
    {n,}       匹配前面的字符n次或更多
    {n,m}     匹配前面的字符最少n次,最多m次
    ?             匹配前面的字符0次或1次
    +            匹配前面的字符1次或多次
    *             匹配前面的字符0次或多次
    特殊字符
    \\             匹配字符 \
    \.              匹配字符 .
    \*              匹配字符 *
    \+             匹配字符 +
    \?              匹配字符 ?
    \|              匹配字符 |

    简单的分组
    1.捕获 ()
    此分组字符组合模式在括号内匹配的字符。
    输入字符串:ABC1DEF2XY
    正则 ([A-Z]{3})\d
    此表达式产生了如下两个匹配
    1st Match = ABC1
    2ndMatch = DEF2
    2.非捕获 (?:)
    此分组符合组合了模式在括号中匹配的字符。它是一个非捕获组,所匹配的字符将不作为一个组在捕获。
    输入字符串:1ABBSA1C
    正则 (?:\d|[A-Z])\w
    此表达式产生3个匹配
    1stMatch =1A
    2ndMatch=BB
    3rdMatch=SA
    但是没有组被捕获
    3.通过名词捕获(?<name>)
    此分组符号组合了模式在方括号内匹配的字符,并把在尖括号中指定的名称作为组的名词。
    高级组
    1.正声明 (?=)
    规定了括号中的模式必须出现在声明的右侧。模式将不构成最后匹配的一部分。
    2.负声明(?!)
    规定了模式不能紧邻声明的右侧。模式不构成最终匹配的一部分。
    3.反向正声明(?<=)
    规定了括号中的模式必须出现在声明的左侧
    4.反向负声明 (?<!)
    规定了模式不能紧邻声明的左侧。模式仍然不够成最终匹配的一部分
    5.非回溯(?>)
    防止了Regex引擎在失败时回溯以试图匹配。

  • 相关阅读:
    Asp.net core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库
    外业数据采集平台(GPS+Android Studio+Arcgis for android 100.2.1)
    Android Studio 单元测试
    1.泛型(Generic)
    营销推广软件,抢沙发功能,滑动解锁,自动提交文章评论,使用Puppeteer(一)
    C# 使用Tesseract-OCR-v5.0,实现验证码,中文,身份证识别
    Tesseract-OCR-v5.0中文识别,训练自定义字库,提高图片的识别效果
    C# 实现验证码识别,使用AspriseOCR.dll
    C# 自动批量搜索指定关键字,没有注册的域名
    C#图片采集软件 自动翻页 自动分类(收集美图必备工具)(一)
  • 原文地址:https://www.cnblogs.com/zhxhdean/p/2042055.html
Copyright © 2011-2022 走看看