JS正则表达式(RE)大全

本文详细介绍了正则表达式的基本概念、元字符及其作用,包括如何使用它们进行字符串匹配和提取。重点阐述了正则表达式在实际场景中的应用,如验证输入数据、文本搜索和替换等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正则表达式,是对字符串操作的一种逻辑公式,常被用来查找、替换那些符合某个模式的文本
给定一个正则表达式和字符串,我们可以达到以下目的:
1、给定的字符串是否符合正则表达式的过滤逻辑(匹配)
2、通过正则表达式,从字符串中获取我们想要的特定的部分
元字符描述
\将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“\\n”匹配\n。“\n”匹配换行符。序列“\\”匹配“\”而“\(”则匹配“(”。即相当于 多种编程语言中都有的“转义字符”的概念。(例:/b/表示匹配字符b,/\b/表示匹配单词的分界线)
^匹配输入字符串的开始位置(例:/^aaa/,可以匹配已aaa开头的字符串;/aaa$/,可以匹配已aaa结尾的字符串;/^aaa$/,既要匹配aaa开头,又要匹配aaa结尾,就是匹配 aaa)                                                                                                         
$匹配输入字符串的结束位置(同^)
*匹配前面的子表达式零次或多次(任意次)(例:zo*可以匹配z,zo,zoo,等价于{0,})
+匹配前面的字表达式一次或多次(至少一次)(例:zo*可以匹配zo,zoo,但不能匹配z,等价于{1,})
?匹配前面的字表达式零次或一次(例:do?可以匹配d,do;等价于{0,1})
{n}匹配确定次数,n为非负整数。(例:o{2}不能匹配Bob,可以匹配food,不能匹配goooooofle)
{n,}至少匹配n次,n为非负整数。(例:o{2,}不能匹配bob,可以匹配food,可以匹配goooooogle)
{n,m}m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个 数之间不能有空格。
?当该字符紧跟在任何一个其它限制符后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 "oooo",'o+?' 将匹配单个 "o",而 'o+' 将匹配所有 'o'。
.匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。
x|y匹配x或y。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。
[xyz ]字符集合。匹配所包含的任意一个字符。表示字符可以出现的范围
[^zyz ]负值字符集合。匹配未包含的任意字符。
[a-z]字符范围.匹配指定范围内的任意字符。例如,'[a-z]' 可以匹配 'a' 到 'z' 范围内的任意小写字母字符。
[^a-z]
负值字符范围。匹配任何不在指定范围内的任意字符。例如,'[^a-z]' 可以匹配任何不在 'a' 到 'z' 范围内的任意字符。
\b匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。
\B匹配非单词边界。'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。
\d
匹配一个数字字符。等价于 [0-9]。

have a good day.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值