【JavaScript】正则表达式、String方法

本文详细介绍了正则表达式的基本概念、模式修饰符、边界符、预定义类和字符类等核心概念,并通过JavaScript代码展示了它们在字符串匹配、测试、分组和量词符等方面的应用。此外,还探讨了正则表达式的优先级和常用字符串方法如match、search、split及replace。
摘要由CSDN通过智能技术生成

正则表达式

正则表达式:是一种描述字符串结构的语法规则,是用于匹配字符串中字符组合的模式,同时正则表达式也是对象。

创建正则表达式:

  • var 变量名 = /表达式/
  • var 变量名 = new RegExp(/表达式/)

正则表达式的测试:

  • test( ):检测字符串是否符合正则规则

模式修饰符

基本语法:

  • /表达式/[switch]
  • switch :表示模式修饰符,是可选的
    在这里插入图片描述

边界符

边界符:正则表达式中的边界符(位置符)用来提示字符所处的位置。
在这里插入图片描述

var reg = /^abc$/;
console.log(reg.test('abc’));      // 结果为:true
console.log(reg.test('abcd’));     // 结果为:false
console.log(reg.test('aabcd’));    // 结果为:false
console.log(reg.test('abcabc’));  // 结果为:false

预定义类

预定义符

字符说明
.匹配除“\n”外的任何单个字符
\d匹配所有0~9之间的任意一个数字,相当于[0-9]
\D匹配所有0~9以外的字符,相当于[^0-9]
\w匹配任意的字母、数字和下划线,相当于[a-zA-Z0-9]
\W除所有字母、数字和下划线以外的字符,相当于[^a-zA-Z0-9]
\s匹配空格(包括换行符、制表符、空格符等),相当于[\t\r\n\v\f]
\S匹配非空格的字符,相当于[^\t\r\n\v\f]
\f匹配一个换页符(form-feed)
\b匹配单词分界符。如“\bg”可以匹配“best grade”,结果为“g”
\B非单词分界符。如“\Bade”可以匹配“best grade”,结果为“ade”
\t匹配一个水平制表符(tab)
\n匹配一个换行符(linefeed)
\xhh匹配ISO-8859-1值为hh(2个16进制数字)的字符,如“\x61”表示“a”
\r匹配一个回车符(carriage return)
\v匹配一个垂直制表符(vertical tab)
\uhhhh匹配Unicode 值为 hhhh (4个16进制数字)的字符,如“\u597d”表示“好”

转义特殊字符

转义特殊字符:"\" 通过’"\"可以将正则表达式中的修饰符、边界符、预定义符等转换为普通字符

字符类

字符范围

pattern(模式)说明
[cat]匹配字符集合中的任意一个字符c、a、t
[^cat]匹配除c、a、t以外的字符
[A-Z]匹配字母A~Z范围内的字符
[^a-z]匹配字母a~z范围外的字符
[a-zA-Z0-9]匹配大小写字母和0~9范围内的字符
[\u4e00-\u9fa5]匹配任意一个中文字符

字符组合

允许用户输入英文字母(不区分大小写)、数字、短横线-、下划线的正则表达式为:

var reg = /^[a-zA-Z0-9_-]$/

取反符

当中括号“[]”与元字符“^”一起使用时,称为取反符。

量词符

用来设定某个模式出现的次数。

字符说明
?匹配?前面的字符0次或1次
+匹配+前面的字符1次或多次
*匹配*前面的字符0次或多次
{n}匹配{ }前面的字符n次
{n,}匹配{ }前面的字符至少n次
{m,n}匹配{ }前面的字符m-n次

括号字符

分组:使用小括号可以进行分组,当小括号后面有量词符时,就表示对整个组进行操作。

/catch|er/——>可匹配结果:catch、er

/cat(ch|er)/——>可匹配结果:catch、cater

/abc{2}/——>可匹配结果:abcc

/a(bc){2}/——>可匹配结果:abcbc

正则表达式的优先级

正则表达式优先级:正则表达式各种符号的优先级,由高到低排列。
在这里插入图片描述

String类中的方法

match()方法:根据正则匹配出所有符合要求的内容匹配成功后将其保存到数组中,匹配失败则返回false。

search()方法:search()方法可以返回指定模式的子串在字符串首次出现的位置

search()方法:search()方法可以返回指定模式的子串在字符串首次出现的位置,相对于indexOf()方法来说功能更强大。

split()方法:split()方法用于根据指定的分隔符将一个字符串分割成字符串数组,其分割后的字符串数组中不包括分隔符。

replace()方法:replace()方法用于替换字符串,用来操作的参数可以是一个字符串或正则表达式。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南栀~zmt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值