• 正则表达式


    基本概念

    •元字符:具有特殊意义的字符,如.(匹配任意单个字符)、*(匹配前面元素的零次或多次出现)、+(匹配前面元素的一次或多次出现)等。

    •字符类:方括号[]内定义的一组可选字符,如[abc]匹配'a'、'b'或'c'中的任意一个。

    •量词:控制匹配次数,如*、+、?、{n}、{n,m}等。

    •锚定符:指定位置匹配,如^匹配字符串开始,$匹配字符串结束。

    •** escape字符**:\用于转义特殊字符,使其作为普通字符对待,如\.匹配点字符。

    常见用途

    1. 验证格式:如邮箱地址、电话号码、身份证号的格式验证。

    2. 搜索替换:在文本中查找匹配特定模式的字符串,并可选择性替换。

    3. 提取信息:从复杂的文本中提取有用的片段,如URL、日期等

    4. 分割字符串:根据模式切割字符串为数组。

    示例

    •匹配邮箱:\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b

    •查找所有单词:\b\w+\b

    •替换所有空格为下划线:原始文本通过正则/ /g(匹配所有空格)替换为_。

    学习正则表达式时,理解其基本构造块和练习编写实际表达式是非常重要的。有许多在线工具和资源可以帮助理解和测试正则表达式。

                                    8-12位字母 符号 数字的正则表达式

    ^(?=.*[a-zA-Z])(?=.*[\d\W])[A-Za-z\d\W]{8,12}$

    •^ 表示字符串的开始。

    •(?=.*[a-zA-Z]) 是一个正向前瞻断言,确保字符串中至少包含一个字母。

    •(?=.*[\d\W]) 是另一个正向前瞻断言,确保字符串中至少包含一个数字或非单词字符(这里用来泛指符号,因为符号一般不属于字母或数字)

    。•[A-Za-z\d\W]{8,12} 匹配字母、数字或非单词字符组成的序列,长度为8到12个字符。

    •$ 表示字符串的结束。请注意,\W 包含了所有非单词字符,这可能比你期望的“符号”范围更广,它包括空格、标点符号、制表符等。如果你只想匹配通常意义上的符号(不包括空格等),可能需要更具体的字符集来代替 \W

  • 相关阅读:
    给出一个数组,分析当下的位置他左边有几个比他上的。
    通过 SingleFlight 模式学习 Go 并发编程
    ACL2021论文笔记(3篇)
    prosemirror error - Applying a mismatched transaction
    【C++STL基础入门】list的增、删
    Linux C/C++ 学习笔记(七):DNS协议与请求
    Go-Excelize API源码阅读(二十一)——GetDefinedName()、DeleteDefinedName()
    开篇——初识云原生
    Vue-Router学习记录
    鸿蒙(API 12 Beta2版)媒体开发【使用OHAudio开发音频播放功能(C/C++)】
  • 原文地址:https://blog.csdn.net/F2297468264/article/details/139375103