js正则

2020-02-25  本文已影响0人  lucky_果果

1、创建正则表达式的两种方式

正则表达式由两部分组成 :模式+标志

标志:g:全局;i:不区分大小写;m:多行匹配。

(1)字面量

示例1:匹配所有at:/at/g

示例2:匹配第一个不区分大小写的bat或者cat:/[bc]at/i

注意:元字符要进行转义。

(2)RegExp构造函数

RegExp构造函数接受两个字符串形式的参数:new RegExp('模式','标志')。

示例:new RegExp('/at/','g')

注意:元字符转义时,因为传入的参数是字符串,所以需要进行双重转义。

2、两种创建方式的对比

(1)两种方式创建的正则表达式,在循环时,每次都创建一个新的实例(ECMAscript5中明确规定的)

(2)利用typeof  pattern的类性都是object类性

(3)利用pattern instanceof  RegExp都返回true

(4)继承toLocaleString()和toString(),且都会返回正则表达式的字面量,与如何创建实例无关系

(5)valueOf() 返回正则表达式本身

3、RegExp实例的方法——exec()

定义:exec专门用于捕获设计的

用法:exec():接受一个参数,即要应用模式的字符串。

实例:

matches返回的是包含匹配项的数组或者null。虽然是数组但是有index,input。

重点理解下:matches[0],matches[1].........——第一项是与整个模式匹配的字符串,其他的是与模式中的捕获组匹配的字符串。释:/mom(dad(bay)?)?/g,整个模式匹配momdadbay,捕获组dadbaby和baby。

4、RegExp实例的方法——test

定义:目标字符串与某个模式是否匹配

用法:test()传入一个字符串参数,即要与模式匹配的字符串。返回true或者false。

用途:信息验证。

示例:var text = "123-34-34"

           var pattern = /\d{3}-\d{2}-\d{2}/   //匹配三个数字-两个数字-两个数字

          pattern.test(text)    //结果返回true

5、RegExp构造函数

千分化操作链接:https://www.jianshu.com/writer#/notebooks/40531328/notes/61201755

上一篇 下一篇

猜你喜欢

热点阅读