Javascript正则表达式

本文深入解析正则表达式的构造与应用,涵盖创建方式、常用符号、匹配模式及核心方法,如test、split、search、match和replace,助力高效字符串处理。

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

正则表达式:
正则表达式用于定义一些字符串的规则。
计算机可以根据正则表达式来检测一个字符串是否符合规则。
使用构造函数创建正则表达式 (更加灵活)
var reg = new RegExp(‘正则表达式’,‘匹配模式’)
匹配模式有两个参数:
i 忽略大小写
g 全局匹配模式

正则表达式的方法:
test() 使用这个方法可以用来检测一个字符串是否符合正则表达式的规则。

使用字面量创建正则表达式(更加简单)
var reg = /a/i ==>var reg = new RegExp(‘a’,‘i’)

console.log(reg.test(‘abc’)) //true

| 或者 a|b 匹配a或者b
[a-z] 匹配a-z 小写字母
[A-Z] 匹配A-Z 大写字母
[A-z] 匹配A-z 大小写字母
[0-9] 匹配所有的数字
[^] 匹配除了…的 [^0-9] 匹配除了数字的元素
{n} 匹配元素出现n次
{n,m} 匹配元素最少出现n次,最多出现m次
‘+’ 匹配元素至少出现一次
‘*’ 匹配元素出现0或多次
? 匹配元素出现0或1次
^ 表示开头
$ 表示结尾
. 表示任意字符
\ 表示转义字符 . 表示匹配.
\w 匹配任意字母、数字、 _ ==> [A-z0-9_]
\W 匹配除了任意字母、数字、 _ ==> [^A-z0-9_]
\d 匹配任意数字
\D 匹配除了任意数字
\s 匹配空格
\S 匹配除了空格
\b 单词边界
\B 除了单词边界

    //  手机号:/^1[3-9][0-9]{9}$/
    
    //邮箱: /^\w{3,}@[A-z0-9]+\.[A-z]{3}$/
    
    //匹配开头和结尾的空格 /^\s*|\s*$/g  

split()方法可以将一个字符串拆分为一个数组
可以传递一个正则表达式作为参数,这样方法将会根据正则表达式去拆分字符串。

var str = '1a2b3c4d5f6g7h8j9k'
console.log(str.split(/[A-z]/))   //1-9

search()方法可以搜索字符串中是否含有指定内容
如果搜索到指定的内容,将会返回第一次出现的索引,如果没有则返回-1.
他可以接收一个正则表达式作为参数,然后根据正则表达式去搜索字符串。

console.log(str.search(/[A-z]/))   //1

match()方法可以根据正则表达式从一个字符串中将符合条件的内容提取出来,默认情况下只会找到第一个符合要求的内容,找到后就会停止检索,可以设置正则表达式为全局匹配模式,这样就会找到所有匹配的内容。

console.log(str.match(/[A-z]/))   //a

replace()方法可以将字符串中指定内容替换为新的内容
有两个参数:
1.被替换的内容,可以接收一个正则表达式作为参数
2.新的内容
默认只会替换第一个,设置正则表达式全局匹配模式

console.log(str.replace(/[A-z]/g , '')) //1-9
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值