首页技术正则表达式的基本符号(正则表达式符号大全)

正则表达式的基本符号(正则表达式符号大全)

编程之家2026-06-021194次浏览

大家好,关于正则表达式的基本符号很多朋友都还不太明白,今天小编就来为大家分享关于正则表达式符号大全的知识,希望对各位有所帮助!

正则表达式的基本符号(正则表达式符号大全)

正则表达式中的符号都有什么分别代表什么意思

.匹配除换行符以外的任意字符

\w匹配字母或数字或下划线或汉字

\s匹配任意的空白符

\d匹配数字

\b匹配单词的开始或结束

^匹配字符串的开始

正则表达式的基本符号(正则表达式符号大全)

$匹配字符串的结束

[\u4e00-\u9fa5]{2,20}匹配2-20个汉字

*重复零次或更多次

+重复一次或更多次

?重复零次或一次

{n}重复n次

正则表达式的基本符号(正则表达式符号大全)

{n,}重复n次或更多次

{n,m}重复n到m次

\W匹配任意不是字母,数字,下划线,汉字的字符

\S匹配任意不是空白符的字符

\D匹配任意非数字的字符

\B匹配不是单词开头或结束的位置

[^x]匹配除了x以外的任意字符

[^aeiou]匹配除了aeiou这几个字母以外的任意字符

(exp)匹配exp,并捕获文本到自动命名的组里

(?<name>exp)匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)

(?:exp)匹配exp,不捕获匹配的文本,也不给此分组分配组号

零宽断言

(?=exp)匹配exp前面的位置

(?<=exp)匹配exp后面的位置

(?!exp)匹配后面跟的不是exp的位置

(?<!exp)匹配前面不是exp的位置

注释

(?#comment)这种类型的组不对正则表达式的处理产生任何影响,用于提供注释让人阅读

正则表达式中的^和$符号分别代表什么含义

在正则表达式中,^和$是锚点符号,用于匹配字符串的特定位置而非具体字符,具体含义如下:

1. ^的作用:限定字符串开头功能:表示接下来的模式必须出现在字符串的最前面。示例:正则表达式 ^hello能匹配"hello world",但不能匹配"hi hello there"(因为 hello不在开头)。

用于验证输入是否以特定内容开头,例如:判断某行是否以特定关键字开头(如日志分析)。

验证用户输入是否以某种格式开头(如手机号、邮箱前缀等)。

2.$的作用:限定字符串结尾功能:表示前面的模式必须出现在字符串的最后。示例:正则表达式 world$能匹配"hello world",但不能匹配"world is big"(因为 world不在结尾)。

用于处理文件扩展名、URL路径等场景,例如:确保文件名以.jpg结尾,可用.jpg$。

3.同时使用 ^和$:精确匹配整个字符串功能:要求整个字符串完全匹配正则表达式。示例:^abc$只能匹配"abc",不能匹配"xabc"或"abcy"。

适用于数据校验,例如验证密码格式、手机号、身份证号等需要完整符合规则的情况。

4.注意事项多行模式:在多行模式下(通常用 m标志),^和$会匹配每一行的开头和结尾,而不仅是整个字符串的起始和终止。转义字符:若需匹配字面意义的 ^或$,需用反斜杠转义,例如 ^或$。默认行为:在部分编程语言或工具中(如 JavaScript、Python的 re模块),^和$默认仅匹配整个字符串的开头和结尾。总结^匹配字符串开头,$匹配字符串结尾。同时使用可实现精确匹配整个字符串。在多行模式下需注意行为变化,匹配字面符号时需转义。掌握这两个符号能显著提升正则表达式的准确性与针对性。

正则表达式

一、基本语法

1.\d任意数字

\w任意字母数字下划线

\s空格,制表符,换行符等字符

.除了换行符任意一个字符

2. [ab5@]表示匹配里面的任意一个字符

[^a]除a外的任意一个字符

[f-k]匹配f到k的任意一个字符

补充:特殊符号被包含在中括号中失去意义,只代表符号本身,^-除外;

标准字符集合除小数点外被包含在中括号中,自定义字符集包含该集合。

如[\d.-+]匹配:数字小数点+-。

二、量词

\d{6}匹配6个数字

{n,m}最少重复n次最多m次

默认贪婪模式即匹配的越多越好,加?非贪婪模式

\d{6}?

\d{6,}最少6次

?匹配0次或1次,相当于{0,1}

+表达式至少出现一次,相当于{1,}

*出现任意次,相当于{0,}

三、字符边界,零宽度

^表示字符开始的位置

^i匹配字符串开头第一个字符位置

$字符串结束的位置

\b不全是\w

\A\Z分别表示文本开头和结尾

四、分支结构、捕获组、非捕获组

分支结构|或

捕获组()捕获所匹配的字符,后面跟/1、/2来取匹配的字符

非捕获组(?:)不捕获括号内匹配的字符,有利于减小内存开支。

五、零宽断言

(?=表达式)表示后面匹配的表达式,但不包括匹配的字符串

(?<=表达式)断言自身前面出现的表达式

(?!表达式)自身后面不能出现的表达式

(?<!表达式)断言此位置前面不能匹配的表达式

关于正则表达式的基本符号和正则表达式符号大全的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

java测试工程师,java工程师java是什么意思英语?java好学吗要学多久