正则表达式入门

字符

使用.表示任意(除了换行符以外)字符
使用[ce]代表c或者e任意一个字符的字符集合

可以使用 - 表示范围, 比如 [A-Z]
[] 里面可以使用 ^ 表示取反, 针对整个 [] 范围内部的全部取反

  • 不在 [] 中的 ^ 代表限定在开头

常用字符

\d 代表digit, \D 代表非数字部分的内容
\w 代表数字或者字母或者下划线
\s 代表空白字符

位置匹配

^ 代表开头
$ 代表结尾
\b 代表边界border, \B 代表不是边界

量词

? 代表可能出现一次, 也可能不出现
+ 代表出现至少一次
* 代表任意多次
{} 代表精确的出现次数的匹配

{3} 代表出现了三次
{3,} 代表了出现了至少三次

  • 使用 ? 跟在花括号后面, 代表不要贪婪匹配

分组(整体化)

使用 () 打包处理, 比如 (at){2} 代表atat

捕获分组

通过使用 () 创建的不同分组实现针对具体内容的提取

在编程的时候, 设置自己需要提取的分组可以提升开发的效率

非捕获分组

使用 (?: ) 来定义一个不被捕获的分组, 在需要使用分组但是不想捕获的时候有用

引用分组

使用 \1 来引用第一个可以被捕获的分组

前瞻

使用分组的时候, 使用 (?= ) 表示分组内部的内容不会在最后被匹配到的内容里面

使用 (?! ) 对条件取反!

后顾

使用 (?<= ) 可以检查后面的内容

TIP

\ 作为转义字符
| 代表或者字符
默认是贪婪匹配

参考

B站geekhour教程

posted @   xuhe2  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 数据并发安全校验处理工具类
点击右上角即可分享
微信分享提示