JavaScript学习-正则表达式

在这里插入图片描述

正则表达式,RegularExpression 又称规则表达式,正则表达式是对字符串操作的一种逻辑公式,用于定义一些字符串的规则

  • 计算机可以根据正则表达式,来检查一个字符串是否符合规则

  • 可以使用正则表达式将字符串中符合规则的内容提取出来

JavaScript中正则表达式的使用

创建正则表达式的对象

​ 语法: var 变量 = new RegExp( " 正则表达式 " , " 匹配模式 " );

​ 简易语法: var 变量=/正则表达式/匹配模式

var reg=/ \. /; == var reg=new RegExp("\\.");

var reg=/ \\ /; == var reg=new RegExp("\\\");

​ 使用typeof检查正则对象,会返回object

​ 最简单的用法:var reg=new RegExp(“a”); 这个正则表达式可以用来检查一个字符串中是否含有a

​ 构造函数中可以传递一个匹配模式作为第二个参数

​ i 忽略大小写 g 全局匹配模式 匹配模式的顺序无所谓

正则表达式的方法:

​ -test( ) 使用这个方法可以用来检查一个字符串是否符合正则表达式的规则,如果符合则返回true,否则返回false

​ 语法:xxx.test(yyy); xxx表示一个正则表达式的对象,yyy表示需要检查的对象

相关语法:

​ -使用“|”表示或者的意思

例如 var reg=/a|b|c/ 可用于检查字符串中是否包括字母a或者b或者c

​ -[ ]里的内容也是或的关系

例如,[ab] == a|b [ a-z ]表示任意小写字母,[ A-Z ]表示任意大写字母,[ A-z ]表示小写字母和大写字母,[ 0-9 ]表示任意数字

检查一个字符串中是否含有abc或者adc或者aec -> /a[bde]c/

​ -[^ ] 表示除了 例如 /[^ab]/ /[^0-9]/
在这里插入图片描述

-量词{ }

​ 通过量词可以设置一个内容出现的次数,量词只对它前边的一个内容起作用

​ {n}正好出现n次 {m.n}出现m-n次 {m,}m次以上 + 至少一个,相当于{1,}

​ * 0个或多个,相当于{0,} ? 0个或1个,相当于{0,1}

-检查一个字符串是否以a开头 /^a/

-检查一个字符串是否以a结尾 /a$/

-如果在正则表达式中同时使用^ $,则要求字符串必须完全符合正则表达式

​ 创建一个正则表达式,用来检查一个字符串是否是一个合法手机号

​ 规则:1.以1开头 2.第二位为3-9任意数字 3.三位 以后任意数字9个

​ ^1 [3-9] [0-9]{9}$ var phoneReg = /^1[3-9][0-9]{9}$/;

- “.” 表示任意字符,在正则表达式中使用\作为转义字符,即"\."检查字符串中是否包含.

在这里插入图片描述

例如:去除用户名str前后的空格,中间的空格不管

​ 去除开头的空格 str=str.replace("/^\s*/","");

​ 去除结尾的空格 str=str.replace("/\s*$/","");

​ 匹配开头和结尾的空格 str=str.replace("/^\s*|\s*$/g","");

例如:邮箱的正则

任意字母数字下划线 .任意字母数字下划线 @ 任意字母数字 .任意字母(2-5位) .任意字母(2-5位)

\w{3,} (\.\w+)* @ [A-z0-9]+ (.[A-z]{2,5}){1,2}

var emailReg="/^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/"

A-z]{2,5}){1,2}

var emailReg="/^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: JavaScript 中的正则表达式是一种特殊的字符串,用于匹配搜索或替换文本中的模式。它们可以使用字符串的 match() 和 replace() 方法,以及 RegExp 对象的 exec() 和 test() 方法来执行。正则表达式通常使用两个斜杠 (//) 来定义,其中包含要匹配的模式。 ### 回答2: 正则表达式是一种用来描述匹配某个文本模式的字符串的表达式语言。在JavaScript中,正则表达式也是一个对象。使用正则表达式可以完成字符串的匹配、查找、替换等操作。 正则表达式的基本语法包括两个部分:字符集和限定符。字符集用来描述匹配的字符范围,限定符则表示字符集中字符的数量和位置。 字符集可以包括以下几种元素: 1. 普通字符串:匹配与该字符串完全相等的文本。 2. 元字符:用来描述某个特定的字符类型,如\d表示数字字符,\w表示字母或数字字符,\s表示空白字符等。 3. 字符集合:用来描述一组特定的字符,如[abc]表示匹配a、b或c中的任意一个字符。 4. 范围:用来描述一个字符的范围,如[a-z]表示匹配任意一个小写字母。 5. 量词:用来描述某个字符或字符集合出现的次数,如+表示至少出现一次,*表示任意次,?表示最多一次。 6. 分组:用()将一些字符组合在一起,方便后面的限定符对其进行操作。 正则表达式的应用非常广泛,如验证输入的表单是否符合要求、从一段文本中提取特定的信息等。同时也需要注意正则表达式的性能问题,过于复杂的正则表达式可能会导致程序运行缓慢甚至崩溃。因此,在编写正则表达式时,需要尽量简单明了,以便提高程序的性能。 总之,对于JavaScript程序员来说,熟练掌握正则表达式是非常重要的一项基本技能。在实际应用中,不断练习和实践才能更好地掌握和运用它。 ### 回答3: 正则表达式是一种强大的文本处理工具,它可以用于匹配、查找和替换文本中的模式。在JavaScript中,正则表达式是以RegExp对象的形式表示的。 RegExp对象可以通过字面量或构造函数的形式创建。例如,使用字面量创建一个正则表达式对象: ``` var regex = /pattern/; ``` 其中,pattern是要匹配的模式。正则表达式的模式可以包含字面字符、元字符、字符类和分组等元素。 另一种创建RegExp对象的方式是使用构造函数: ``` var regex = new RegExp('pattern'); ``` 在创建RegExp对象时,可以指定标志参数来修改匹配行为。常用的标志参数有: - g:全局匹配,即匹配所有符合模式的字符而不仅仅是第一个匹配项。 - i:不区分大小写匹配。 - m:多行匹配,即启用^和$两个元字符匹配每一行的开头和结尾。 例如,创建一个不区分大小写全局匹配的正则表达式对象: ``` var regex = /pattern/gi; ``` 通过正则表达式对象的test()方法可以判断一个字符串是否符合模式。例如: ``` var string = 'hello world'; var regex = /hello/; console.log(regex.test(string)); // true ``` 对于包含多个匹配项的情况,可以使用exec()方法返回匹配的结果数组。例如: ``` var string = 'hello world'; var regex = /l/g; var match; while ((match = regex.exec(string)) !== null) { console.log(match[0], match.index); } // Output: l 2 // l 3 // l 9 ``` 正则表达式还可以用于替换文本。通过字符串的replace()方法,可以使用正则表达式匹配并替换字符串中的内容。例如: ``` var string = 'hello world'; var regex = /world/; console.log(string.replace(regex, 'kitty')); // hello kitty ``` 需要注意的是,正则表达式在处理特殊字符时可能会出现转义问题。因此,需要在正则表达式中对特殊字符进行转义。例如: ``` var string = 'hello.world'; var regex = /hello\.world/; console.log(regex.test(string)); // true ``` 总之,正则表达式JavaScript中一个非常重要的概念,对于文本处理和数据分析等方面都有着广泛的应用。掌握正则表达式的基本语法和应用,对于JavaScript开发者来说是一项必备技能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值