正则表达式(RegExp)

前言:先来了解一下基础知识。再细说正则表达式~

转义字符  ----   \

转义字符会将与之相邻的字符转换含义。

例如说,希望在一个字符串中输出 “ 号,那么就可以使用在双引号前加入 \ ,这样就能将双引号输出。

通常情况下,我们会用到这样几个转义字符

\n 字符串换行符,  \r 代表文本行结束,  回车用转义字符表示就是 \r\t  ,\t 代表制表符,是 tabel 缩写。

 

正则表达式-------创建

首先说作用: 是匹配特殊字符或有特殊搭配原则的字符的最佳选择。

接着来看下如何使用正则表达式,它有几种创建方式,我们一一来看下。

1. 直接量的方式创建

var reg = /abc/;   // 这里规定了表达式的格式, /abc/i  表示可以忽略大小写  
var str = 'abc';
reg.test(str);  // true

2. 构造函数的方式创建

var reg = new RegExp("abc","m");  //第一个参数写规则,第二个是可选项,传入可以是任一属性 i m g,也可以自由组合
var str = "abcd";        // true

3. 构造函数方式创建的另一种表达(加 new 、不加 new)

    var reg = /abc/i;
    var reg1 = new RegExp(reg);   //此时是利用原有的模式创建了一个新的正则表达式,虽然相同但完全独立。

    var reg = /abc/i;
    var reg1 = RegExp(reg);    // 如果不加 new,则返回的只是这个原有泽政表达式的一个引用,并不会创建新的正则表达式。

 

正则表达式-------修饰符(i、g、m)

    var reg = /abc/i;   // 忽略大小写
    var str = "ABC"   // true

    var reg = /abc/g;   // 进行全局匹配
    var str2 = "abcabcabcabc"  // ['abc','abc','abc','abc'] 不加 g 时,数组中只会出现一个字符串

    var reg = /abc/m;    // 进行多行匹配
    // 下面是一些伪代码
    if var reg = /^a/g;    // 表示匹配以a开头的所有字符
    var str = "abc/na";   //  ['a']   虽然换行了,但是修饰符 g 并不认为这是另起一行了,依然不会识别。

    if var reg = /^a/gm;    // 表示匹配以a开头的所有字符
    var str = "abc/na";     // ['a','a']  这时就会认识这是一个换行符了,就能进行匹配

 

正则表达式-------表达式

表达式中的标准可以是多个表达式,这是规定了每一位上的匹配区间

[abc] : 查找方括号之间的任意字符

[^abc] : 查找不在方括号之间的任意字符

[0-9] : 查找0-9之间的任意数字

一种偷懒的写法: [0-9a-Z] : 这里包括了0-9a-Z的所有区间

关于 ^ ,在表达式中表示非,在表达式外表示从哪里开始。

(abc | bcd) : 这里也是表示匹配区间,但必须是abc 或者 bcd

 

正则表达式-------元字符

 .   : 匹配除了换行符以外的所有字符

\w :匹配所有的单词字符以及下划线

\W : 与\w正好取反

\s = (\v \r \f \n \t  空格): 匹配空白字符

\v \r \f \n \t  : 这里需要注意,使用这些匹配元字符的时候,必须是字符串中真实存在的,不能视觉上存在的。

等等......

表达式中也可以写元字符拼接

 

正则表达式-------量词

n+ : 表示n可以匹配一次到多次

n*  : 表示n可以匹配0次到多次

n? : 表示n可以匹配0次或一次

转载于:https://www.cnblogs.com/Joyce7/p/11546302.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值