正则表达式

基本概念

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

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

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

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

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

常见用途

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

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

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

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

示例

•匹配邮箱:\bA-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

相关推荐
程序员-Benothing4 小时前
Linux文件查看与编辑:cat、less、tail、vim快速入门
linux·运维·服务器
陈陈CHENCHEN15 小时前
【Linux】服务器根目录磁盘扩容操作记录
linux·运维·服务器
沸速存储17 小时前
AI 机器人靠哪些内存与存储驱动整机运行?
服务器·科技·嵌入式硬件·电脑
fengyehongWorld18 小时前
Linux squid搭建基础代理服务器
linux·运维·服务器
Cx330❀19 小时前
【Linux网络】网络层 IP 协议:从网段划分到内核源码解析
大数据·linux·服务器·网络·tcp/ip·性能优化·langchain
一技安身20 小时前
【信创】docker-26.0.2.tgz 原理 + 完整安装
linux·运维·服务器
郝学胜-神的一滴21 小时前
Effective Python 条款 13:善用星号解包,告别下标切片拆分的坑
服务器·开发语言·数据结构·python·程序人生·pycharm
智购无人售货机厂家21 小时前
2026自动售货机品类拓展逻辑:从饮料零食到鲜食药品文创的工程实践~YH
服务器·人工智能·单片机·线性代数·矩阵
国际云,接待1 天前
华为云 ECS 怎么选规格:从用户地域、CPU/内存比、PPS 和云硬盘性能做购买前容量判断
服务器
国际云,接待1 天前
华为云 CBR 备份不是点一下就完事:用恢复演练验证 ECS 的 RPO、RTO 和跨区域容灾
服务器