跳转到主内容
极星编程网:以代码为星,赴技术山海!

正则表达式主要包括_正则表达式语法的主要构成部分

正则表达式核心由字符匹配单元、量词、位置断言、分组与引用四类基本语法元素构成:字符匹配指定“要匹配什么”,量词控制重复次数,位置断言判断“在哪里”,分组与引用实现结构化匹配和提取。 正则表达式 的核心由几类基本语法元素构成,掌握它们就能组合出绝大多数匹配模式。 字符匹配单元 这是最基础的部分,用于指定“要匹配什么”: 普通字符 :如
a
、
1
、
@
,直接匹配自身; 预定义字符类 :如
\d
(数字)、
\w
(字母/数字/下划线)、
\s
(空白符); 字符集合 :
[abc]
匹配 a、b 或 c 中任意一个;
[^0-9]
表示非数字; 点号(.) :匹配除换行符外的任意单个字符(部分引擎可通过标志开启跨行匹配)。 量词(重复控制) 决定前面的元素出现多少次:
*
:0 次或多次;
+
:1 次或多次;
?
:0 次或 1 次;
{n}
:恰好 n 次;
{n,}
:至少 n 次;
{n,m}
:n 到 m 次; 默认是“贪婪匹配”,加
?
可转为“懒惰匹配”,如
*?
、
+?
。 位置断言(锚点与边界) 不消耗字符,只判断“在哪里”: perl正则表达式学习手册pdf版 perl正则表达式学习手册pdf版,点击下载解压即可。想学习perl正则的朋友需要看。 下载
^
:行首(多行模式下每行开头);
$
:行尾;
\b
:单词边界(如
\bcat\b
不会匹配
category
中的
cat
);
\B
:非单词边界;
\A
和
\Z
分别表示整个字符串的开头和结尾(不受多行模式影响)。 分组与引用 用于结构化匹配和提取:
(...)
:捕获分组,匹配内容可被后续引用(如
\1
引用第一个分组);
(?:...)
:非捕获分组,仅用于逻辑分组,不保存匹配结果;
(?...)
或
(?'name'...)
:命名捕获组,便于后期通过名称访问; 前瞻断言:
(?=...)
(正向肯定)、
(?!...)
(正向否定),用于“后面必须/不能是…”的条件判断。 这些部分相互组合,构成了正则表达式的表达力。实际使用时,建议从简单字符+量词开始,再逐步加入断言和分组,避免过度复杂化。

相关文章