JavaScript正则表达式+方法

正则: 用于定义一些字符的规则 计算机通过正则表达式检查一些字符是否符合标准

正则表达式修饰符 修饰符 可以在全局搜索中不区分大小写:

i  不区分大小写


g  全局匹配


m  执行多次匹配

正则表达式模式 方括号用于查找某个范围内的字符

[a-z]  匹配一个a-z的字符

[0-9]  匹配 09 的数字。 

元字符

\d  匹配一个0-9的数值

\D  匹配一个除了0-9的数值

\w  匹配一个 0-9 a-z A-Z _的字符

\W  匹配一个除了 0-9 a-z A-Z _的字符

[0-9a-zA-Z_]  匹配一个 0-9 a-z A-Z _的字符

[0-9A-z_]  匹配一个 0-9 a-z A-Z _的字符

[^0-9A-z_]  匹配一个除了 0-9 a-z A-Z _的字符

[0-9]{n}  匹配n个数值

[0-9]{n,} 匹配n个或n个以上

[0-9]{n,m} 至少匹配n个最多匹配m个

*  0个以上
?  0个或1.  除了换行符之外的所有字符
+  一个以上
^[]  以什么开始
[]$  以什么结束
^[]$ 以什么开始以什么结束
[^]  除了什么 其他都可以

贪婪模式

/.*/

非贪婪模式

/.*?/

运用正则表达式

var str = "123abcdefGh4abcdeFgh"
// 全局匹配一个数字
var patt = /[0-9]/g
var str = "123abcdefGh4abcdeFgh"
// 匹配一个字符
var patt = /[a-z]/
var str = "123abcdefGh4abcdeFgh"
// 全局匹配一个字符
var patt = /[a-z]/g
var str = "123abcdefGh4abcdeFgh"
// 不区分大小写全局匹配一个字符
var patt = /[a-z]/gi
var str = "123abcdefGh4abcdeFgh"
// 匹配一个0-9一个a-z的字符
var patt = /([0-9])([a-z])/
var str = "123abcdefGh4abcdeFgh"
// 全局匹配一个0-9一个a-z的字符
var patt = /([0-9])([a-z])/g
var str = "123abcdefGh4abcdeFgh"
// 全局匹配多个0-9一个a-z的字符
var patt = /([0-9]+)([a-z])/g
var str = "123abcdefGh4abcdeFgh"
// 全局匹配一个0-9多个a-z的字符
var patt = /([0-9])([a-z]+)/g
var str = "123abcdefGh4abcdeFgh"
// 不区分大小写全局匹配一个0-9多个a-z的字符
   var patt = /([0-9])([a-z]+)/gi

贪婪模式

var str = "<h1>减肥垃圾矢量发动机</h1>"
   var patt = /<.*>/
   console.log(str.match(patt))

非贪婪模式

var str = "<h1>减肥垃圾矢量发动机</h1>"
   var patt = /<.*?>/
   console.log(str.match(patt))

使用字符串方法

split() 方法用于把一个字符串分割成字符串数组 传递一个正则表达式作为参数,使这个方法根据正则表达式进行拆分 不使用全局匹配依然全部拆分

var str = "1a2b3c4d5e6f7g"
var ret = str.split(/[a-z]/)
   console.log(ret)

replace()方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

var str = "1a2b3c4d5e6f7g"
var result = str.replace(/b|e/g,"☆")
   console.log(result)

参数1:被替换的内容

参数2:新内容 注意:如果不进行全局匹配只替换第一个

search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。

var str = "1a2b3c4d5e6f7g"
var ret1 = str.search(/[4-9]/)
   console.log(ret1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值