正则表达式学习笔记

正则表达式应用于字符文本处理非常方便,此贴作为入门学习的一个学习笔记。

你若发现笔记记录有待商榷的地方,还请指正赐教,先行拜谢了!

1 限定符

1.1 ?

 used? /* 表示字符d需要出现0次或1次 */
 -----------
 use     /* 能匹配 */
 used    /* 能匹配 */
 us      /* 不能匹配 */

1.2 *

 ab*c /* 表示b可以出现0次,或1次,或n次 */
 -----------
 ac      /* 能匹配 */
 abc     /* 能匹配 */
 abbbc   /* 能匹配 */
 abdc    /* 不能匹配 */
 ab      /* 不能匹配 */

1.3 +

 ab*c /* 表示b可以出现1次,或n次 */
 -----------
 ac      /* 不能匹配 */
 abc     /* 能匹配 */
 abbbc   /* 能匹配 */
 abdc    /* 不能匹配 */
 ab      /* 不能匹配 */

1.4 {...}

 ab{6}c      /* 表示b能出现6次 */
 ab{2,6}c    /* 表示b能出现2~6次 */
 ab{2,}c     /* 表示b能出现2次以上 */

1.5 ()

 (ab)    /* 匹配ab字符串 */
 --------------
 abcabd      /* 能匹配上ab ab */
 acadaf      /* 不能匹配 */

2 或运算

2.1 |

 a (cat|dog)
 ----------
 a dog   /* 能匹配 */
 a cat   /* 能匹配 */
 a tom   /* 不能匹配 */

3 字符类

3.1 -

 [a-zA-Z0-9]+    /* 匹配大小写字母和所有数字 */
 ​

3.2 ^

 [^0-9]+ /* 表示需要除了数字之外的所有字符 */

4 元字符

4.1 \d和\D

\d+ /* 表示所有的数字 */
\D+ /* 与\d相反 */

4.2 \w 和\W

\w+ /* 表示所有的字母、数字、下划线 */
\W /* 与\w相反 */

4.3 \s 和\S

\s /* 表示所有的空格和TAB和换行符 */
\S /* 与\s相反 */

4.4 .

. /* 表示任意字符,但不包含换行符 */

4.5 ^

会去匹配行首

 ^a  /* 只会去匹配行首的a */
 -----------
 abc /* 匹配到行首的a */
 cba /* 匹配不到行末的a */

4.6 $

会区匹配行尾

 a$  /* 只会去匹配行末的a */
 -----------
 abc /* 匹配不到行首的a */
 cba /* 匹配到行末的a */

参考资料

B站UP主:奇乐编程学院

视频地址:https://www.bilibili.com/video/BV1da4y1p7iZ?from=search&seid=17857149323720293158&spm_id_from=333.337.0.0

 

 

 

 

 

 

 

posted @   今天学点啥?  阅读(115)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示