正则表达式基本语法

C#正则表达式的基本语法 正则表达式的匹配模式由一系列数字、文字、运算符、字符等的字符组成,根据自己需求设计对应的模式,实现分析、匹配的操作。本文将对正则表达式组成语法进行讲解。 阅读详情

正则表达式

作用: 我们自己书写一个 规则, 去验证 **字符串** 是否符合规则
    + 正则也是一个 JS 的复杂数据类型
正则表达式的创建
    1. 字面量创建正则表达式
      => var reg = /abcd/
    2. 内置构造函数创建正则表达式
      => var res = new RegExp('abcd')

  正则表达式两种创建方式的区别
1. 标识符的书写
    => 字面量方式, 直接书写在正则的最后面
    => 内置构造函数方式, 需要书写在第二个参数的位置

2. 字符串拼接
    => 字面量方式无法拼接字符串
    => 内置构造函数, 因为第一个参数位需要字符串格式, 所以可以使用字符串拼接

3. 书写基本元字符
    => 字面量方式直接书写 \s\d\w
    => 内置构造函数书写 \\s\\d\\w
一、元字符-基本元字符
正则表达式的组成
    + 文本
      => 没有特殊意义的文本
    + 元字符
      => 有特殊意义的 字符
    + 标识符
      => 书写在正则表达式的外面, 用来修饰整个正则表达式的
      
  元字符 - 基本元字符
    1. \s : 一位 空白内容
    2. \S : 一位 非空白内容
    3. \d : 一位 数字内容
    4. \D : 一位 非数字内容
    5. \w : 一位 数字字母下划线
    6. \W : 一位 非数字字母下划线的任意内容
    7. 点(.) : 一位 非换行以外的任意内容都行
    8. \ : 转义符
      => 把没有意义的转换成有意义的
      => 把有意义的转化成没有意义的
二、元字符-边界符
 1. ^ : 表示字符串开头
  2. $ : 表示字符串结尾
  + 当 开头 和 结尾 一起使用的时候
    => 表示从开头到结尾
三、元字符-修饰符
 元字符 - 修饰符
    + 修饰符只是用来修饰前面 **一个** 内容

  1. * : 表示 0 ~ 多次
  2. + : 表示 1 ~ 多次
  3. ? : 表示 0 ~ 1 次
  4. {n} : 表示指定 n 次
  5. {n,} : 表示至少 n 次, n ~ 多次
    => {0,} 等价于 *
    => {1,} 等价于 +
  6. {n,m} : 表示 n ~ m 次
    => {0,1} 等价于 ?
四、元字符-特殊符号
1. ()
    => 含义1: 一个整体
    => 含义2: 单独捕获(欠着)
  2. |
    => 一般和 () 连用
    => 表示一个内容或者另一个内容
  3. []
    => 任选
    => **一个 [] 只能表示一位字符**
    => 表示 [] 内的任意一个都行
  4. [^]
    => 非
    => **一个 [^] 只能表示一位字符**
    => 表示 [^] 内的任意一个都不行
  5. -
    => 至 或者 到
    => 和 [] 或者 [^] 连用的符号
    => 注意: 必须是 ASCII 编码连着的才可以
    => [0-9] 等价于 \d
    => [^0-9] 等价于 \D
    => [0-9a-zA-Z_] 等价于 \w
    => [^0-9a-zA-Z_] 等价于 \W
五、正则的标识符
书写在正则的外面,用来修饰整个正则表达式的
 1. i (ignore)
    => 作用: 忽略大小写不计
2. g (global)
    => 作用: 全局
    => 当你进行捕获的时候
     ->后一次捕获会从前一次捕获的结束位置开始查找
六、正则的常用方法
1. 匹配
    + 语法: 正则.test(要检测的字符串)
    + 返回值: 一个布尔值
      => 如果字符串满足正则要求, 那么就是 true
      => 如果字符串不满足正则要求, 那么就是 false

  2. 捕获
    + 语法: 正则.exec(要捕获的字符串)
    + 返回值:
      2-1. 如果字符串中没有满足正则表达式的内容
        => 那么就是 null
      2-2. 如果字符串中有满足正则表达式的内容
        2-2-1. 没有 () 没有全局 标识符 g
          => 结果是一个数组
          => 索引 [0] 位置就是满足正则要求的第一个内容
          => 你的每一次捕获都是从索引 0 开始去查找
        2-2-2. 有全局标识符 g
          => 结果是一个数组
          => 索引 [0] 位置就是满足正则要求的第一个内容
          => 第二次捕获是从第一次捕获的结束位置开始先后查找
          => 直到找到为 null, 再下一次又是从 [0] 开始查找
        2-2-3. 有 ()
          => 结果是一个数组
          => 索引 [0] 位置就是满足正则要求的第一个内容
          => 从索引 [1] 开始, 依次是正则表达式中的每一个小括号的单独内容
七、正则的特性
懒惰性: 每一次的捕获都会默认从 字符串的开头 开始去检测
      => 解决: 使用全局标识符 g
贪婪性: 在一次的匹配中尽可能的多获取内容
      => 如何进入非贪婪模式
      => 在修饰符后面再加一个 问号(?)
      贪婪修饰符    非贪婪修饰符
        *            *?
        +            +?
        ?            ??
        {n,}         {n,}?
        {n,m}        {n,m}?
八、字符串和正则合作的方法
1. replace()
      => 语法:
        -> 字符串.replace(换下字符, 换上字符)
        -> 字符串.replace(正则, 换上字符)
      => 返回值:
        -> 如果第一个参数传递的是字符串, 只能替换一个
        -> 如果第一个参数传递的是正则, 但是没有全局标识符 g, 那么只能替换一个
        -> 如果第一个参数传递的是正则, 并且有全局标识符 g, 那么全部替换

    2. search()
      => 语法:
        -> 字符串.search(字符片段)
        -> 字符串.search(正则)
      => 返回值:
        -> 字符串内有 字符串片段 或者 满足正则表达式的内容, 那么就是这一段内容的 索引
        -> 如果没有就是 -1

    3. match()
      => 语法:
        -> 字符串.match(字符片段)
        -> 字符串.match(正则)
      => 返回值:
        -> 如果第一个参数传递的是字符串或者没有全局标识符 g 的正则, 那么结果是 exec 一样
        -> 如果是一个正则并且有全局标识符g, 那么是一个数组
        -> 数组里面是原始字符串中的所有符合正则标准的片段
正则表达式(Regular Expressions)基本语法 无论前端还是后端开发过程中都不可避免的会使用到正则表达式,在对于程序的优化中,也起到了很重要的作用,可以减少非必要的接口和网络交互,减少服务器压力。正则表达式(Regular Expressions,简称 regex 或 regexp)是一种强大的文本处理工具,用于匹配字符串中的特定模式。正则表达式在文本搜索、替换、验证等多种场景中非常有用。以下是关于正则表达式的详细说明,包括基本语法、常见用法和示例。 阅读详情

相关推荐

Verilog的综合指令

Synopsys综合指令

烟花一时的博客 5447

正则表达式的语法汇总

文章目录1.正则表达式的基本语法1.1两个特殊符号 '^' 和 '$'^ 正则表达式的起始符$ 正则表达式的结束符^$ 结合使用不使用 ^$1.2 出现次数的表示符号 * + ?* 表示出现 0次 或者 至少1次+ 表示出现 至少1次? 表示出现 0次 或者 1次1.3 指定出现次数的范围 {}使用{m,n} 表示出现次数的范围m--至少出现m次n--最多出现n次举例如下1.4 "或" 操作 |1.5 替代任意字符的 . 英文句号1.6 方括号的使用 []3. 常用的正则表达式 1.正则表

人无远虑,必有近忧. 5万+

不止是打字机效果:手把手教你用SpannableStringBuilder打造Android富文本AI对话界面

本文详细介绍了如何使用SpannableStringBuilder在Android平台上构建专业级AI对话界面,涵盖流式文本处理、富文本解析、交互优化等核心技术。通过实战代码示例,帮助开发者实现类似DeepSeek的AI产品交互效果,提升用户体验和应用专业度。

weixin_28358083的博客 198

正则表达式语法大全

前言:一般开发中都会接触到正则表达式,作为一名合格的前端,也应该了解一下正则表达式编写原则,便于自己也能快速编写想要的正则表达式。

sinat_34626741的博客 7万+

用Python玩转Milvus:从安装SDK到完成第一个向量搜索Demo

本文为Python开发者提供了一份详细的Milvus向量数据库实战指南。文章重点讲解了如何规避版本兼容性陷阱,正确部署Milvus服务端并安装匹配的Python SDK。通过一个电影推荐系统的完整案例,演示了从数据建模、集合创建、向量插入、索引构建到执行混合搜索的全流程,帮助开发者快速上手并完成第一个向量搜索Demo。

weixin_29239279的博客 192

OneNet平台MQTT连接避坑指南:C语言Token计算实战(附完整代码)

本文详细解析了OneNet平台MQTT连接中的Token计算机制,提供了C语言实现的完整代码和实战指南。通过HMAC算法和Base64编码,开发者可以高效生成安全凭证,避免常见连接问题,适用于物联网设备开发。

weixin_29193359的博客 462

正则表达式基础语法大全

正则表达式基础语法 1.普通字符: 字母、数字、汉子、下划线、以及没有特殊定义的标点符号,都是“普通字符”。表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符。 2.简单的转义字符: 3.标准字符集合: - 能够与'多种字符' 匹配的表达式 - 注意区分大小写,大写是相反的意思 4.自定义字符集合: -[ ]方括号匹配方式,能够匹配方括号中任意一个字符 例如:[2-8a...

大学生小汪的成长博客 6万+

2026年算法工程师常见面试简答题

本文摘要:文章系统梳理了机器学习与深度学习中的30个核心概念,涵盖模型优化、评估指标、经典算法和大模型应用等关键知识点。主要内容包括:1)过拟合与欠拟合的成因及解决方法;2)偏差-方差权衡原理;3)数据划分与交叉验证策略;4)分类/回归任务评估指标选择;5)逻辑回归、决策树、SVM等传统算法解析;6)梯度下降优化与正则化技术;7)CNN、RNN、Transformer架构对比;8)Embedding表示与RAG技术。特别强调面试高频考点如XGBoost改进、注意力机制原理等,并给出实际工程中的解决方案建议,

不务正业的猿 350

史上最全正则表达式语法,文末附常用表达式!

废话少说,直接开始学习! 一、元字符 元字符是构造正则表达式的一种基本元素。 . :匹配除换行符以外的任意字符 w:匹配字母或数字或下划线或汉字 s:匹配任意的空白符 d:匹配数字 b:匹配单词的开始或结束 ^:匹配字符串的开始 $:匹配字符串的结束 匹配有abc开头的字符串:abc或者^abc 匹配8位数字的QQ号码:^dddddddd$ 匹配1开头11位数字的手机号码...

藏经阁 7万+

海上风电经柔性直流送出系统的阻抗建模与稳定性分析

摘要 本文针对海上风电经柔性直流送出系统的稳定性问题,提出了一种基于阻抗建模的分析方法。研究建立了直驱永磁同步发电机(PMSG)的序阻抗解析模型和模块化多电平换流器(MMC)的交流侧小信号阻抗模型,通过Matlab/Simulink平台实现了完整的仿真验证系统。采用谐波线性化原理和端口阻抗分析法,揭示了风电机组与柔直换流器之间的阻抗匹配特性对系统稳定性的影响规律。研究结果表明,控制参数设置会显著改变系统阻抗特性,进而影响稳定裕度。文中提出的阻抗建模方法为分析海上风电柔直送出系统的宽频振荡问题提供了有效工具,

huanghm88的专栏 232

QT+OSG/osgEarth编译之七十六:gltf+Qt编译(一套代码、一套框架,跨平台编译,版本:osgEarth-3.3插件库osgdb_gltf)

通过一套gltf代码和框架,实现osgdb_gltf跨平台编译。 在Qt环境下,集成头文件、库文件,构建跨平台编译的pro文件。 通过构建的一套配置工程,基于Qt Creator IDE,完成跨平台的编译实践。 在Windows、Linux、MacOS等操作系统上进行测试,成功编译,形成的成果(头文件、库文件等)可在不同系统下调用或使用,从而更好地构建跨平台解决方案。 采用的是osgEarth3.3版本。 读者可参考博客中的集成原理,构建不同版本的osgdb_gltf跨平台包。

LuckyHanMo的博客 1802

正则表达式的基本语法汇总篇

因为反向引用,是引用前面的分组,但我们在正则里引用了不存在的分组时,此时正则不会报错,只是匹配反向引用的字符本身。例如\2,就匹配"\2"。如果只想要括号最原始的功能,但不会引用它,即,既不在API里引用,也不在正则里反向引用。^[a-d]$ 表示一个字符串包含小写 abcdb 中的一个 ^[abcd]$^a|b|c$之前文中出现的分组,都会捕获它们匹配到的数据,以便后续引用,因此也称他们是捕获型分组。接下来的是\1,是第一个分组内容,那么看第一个开括号对应的分组是什么,是123,

jh035的博客 5650

【深度学习新浪潮】智能体在图像处理领域的技术突破与实践指南

智能体正在重构图像处理的技术版图:从多智能体分工的"专业化协作",到多模态统一的"极简架构",再到工具增强的"实战能力",技术突破不断降低开发门槛并拓展应用边界。对于开发者而言,2025年的核心机遇在于结合具体场景选择成熟框架(如医疗用IteR-MRL、工业用NVIDIA NIM),通过微调与工具集成快速落地解决方案。随着硬件成本下降与开源生态完善,图像处理智能体将从当前的"高端场景赋能"走向"千行百业普及",真正成为数字世界的"视觉感知与操作核心"。

专注:太空算力、AI infra、异构调度、大模型成本工程 439

正则表达式基本语法速查

目录正则表达式基本语法'^' ,'$'。'*','+','?' 正则表达式基本语法 ‘^’ ,’$’。 ’^’:指出一个字符串的开始。 “^The”:表示所有以"The"开始的字符串(“There”,"The cat"等); ’$ ':指出一个字符串的结束。 “of despair$”:表示所有以"of despair"结尾的字符串; “^abc$”:表示开始和结尾都是"abc"的字符串——只有"abc"自己; “notice”:表示任何包含"notice"的字符串。 ‘*’,’+’,’?’ ’*’:表示没

guochaoHNU的博客 900

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

正则表达式 基本语法

正则表达式 基本语法

u010117029的博客 634

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

正则表达式基本语法详解

lrxzhy的博客 192

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

正则表达式的基本语法

1.正则表达式基本语法 两个特殊的符号'^'和'$'。他们的作用是分别指出一个字符串的开始和结束。例子如下: "^The":表示所有以"The"开始的字符串("There","The cat"等); "of despair$":表示所以以"of despair"结尾的字符串; "^abc$":表示开始和结尾都是"abc"的字符串——呵呵,只有"abc"自己了; "notice":表示任何包含"notice"的字符串。 象最后那个例子,如果你不使用两个特殊字符,你就在表示要查找的串在被查找串的任意部分

omygodvv的博客 466

js正则表达式的基本语法浅谈

"[a-d]":表示一个字符串包含小写的"a"到"d"中的一个(相当于"a¦b¦c¦d"或者"[abcd]");("a", "ab", "abbb",……"相当于"{0,}","{1,}"和"{0,1}""^The":表示所有以"The"开始的字符串("There","The cat"等)"^abc$":表示开始和结尾都是"abc"的字符串——呵呵,只有"abc"自己了。"(a¦b)*c":表示一串"a""b"混合的字符串后面跟一个"c""[ab]":表示一个字符串有一个"a"或"b"(相当于"a¦b")

xinyuerr的博客 357

正则表达式及其应用(二) 基本语法

基本语法 我们知道C的变量和Shell脚本变量的定义和使用方法很不相同,表达能力也不相同,C的变量有各种类型,而Shell脚本变量都是字符串。同样道理,各种工具和编程语言所使用的正则表达式规范的语法并不相同,表达能力也各不相同,有的正则表达式规范引入很多扩展,能表达更复杂的模式,但各种正则表达式规范的基本概念都是相通的。本节介绍egrep(1)所使用的正则表达式,它大致上符合POSIX正则表达式...

zpznba的博客 189
上一篇: JS基础 操作DOM元素语法
下一篇: this指向语法 及强行改变this指向call apply bind
xiaodingmao
博客等级 码龄5年 21粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值