菜鸟学习笔记——前端学习——JS(2)正则表达式

什么是正则表达式?

也叫“规则表达式”,从名字上来看,就是通过一个序列表达某种规则。这种规则是对字符串进行操作,可以用于检索、替换文本。许多程序设计语言都支持利用正则表达式进行字符串操作。(英语:Regular Expression,在代码中常简写为regex、regexp或RE)

语法:    /正则表达式主体/修饰符(可选)

两个方法:

search():参数可使用正则表达式,也可以直接使用字符串(字符串会先被转换成正则表达式)

var str = "Visit Runoob!"; 
var n = str.search(/Runoob/i);
var n = str.search("Runoob");

replace():参数可使用正则表达式,也可以直接使用字符串(字符串会先被转换成正则表达式)

var txt = str.replace(/microsoft/i,"Runoob");
var txt = str.replace("Microsoft","Runoob");

使用正则表达式和直接用字符串有什么区别吗?有的呀,正则表达式可以带修饰符,使搜索、替换更强大!


正则表达式对象的方法:

test():检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。

exec():检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,该函数返回一个存放匹配结果的数组。如果未找到匹配,则返回值为 null。


练习题:

#1    JS 判断输入字符串是否为数字、字母、下划线组成:    /^\w+$/        \w表示字母、数字、下划线
#2    JS 判断输入字符串是否全部为字母:    /^[a-zA-Z]+$/
#3    JS 判断输入字符串是否全部为数:字    /^[0-9]+$/    或    /^\d+$/ 
#4    /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/ 是什么意思?(敲黑板!!)

解析#4:     /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/

为了更直观用颜色区分了范围,匹配符合蓝色字符串绿色字符串

答案如:。。<ahddu><        #09azAZ----

/ /正则表达式的开始、结束

^匹配字符串开始

(?:pattern)非获取匹配,匹配pattern但不获取匹配结果,不进行存储供以后使用。这在使用或字符“(|)”来组合一个模式的各个部分时很有用。

量词:+表示1个或多个,*表示任意个, .表示任意字符

\d表示任意一个数字,\w表示任意数字、字母或下划线,\s匹配任意空白字符

\D表示任意一个非数字,\W表示任意除数字、字母或下划线外字符,\S匹配任意非空白字符

[^x]表示取x反向范围的字符,如[^>]表示除>以外的任意字符

\表示转义字符,如 .已经表示了特殊意义,如果要匹配它就要用 \.

$匹配字符串结束

练后感:

做完#4感觉非常酸爽,通过查各种符号的含义之后,对正则表达式的阅读能力蹭蹭提升!百度百科中对正则表达式符号的解释还是非常详细的!给了我很多帮助。

https://baike.baidu.com/item/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1700215?fr=aladdin

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值