-
正则表达式:
^表示开始;
$表示结束;
^\d{4}[/-]\d{2}[/-]\d{2}$
表示以四位数字开头的年份 /或者- 2位数的月份 /或者- 2位数的日期 的格式。
查看全部 -
可以查看全部
-
$1:提取分组内容,即()里的内容。
查看全部 -
反向引用使用$捕获分组,?:忽略分组使用{}使用量词,()建立分组,【】建立字符类
查看全部 -
啦啦啦啦啦
查看全部 -
字面量:
var reg = /\bis\b/;
'He is a boy.'.replace(reg, 'IS')//He IS a boy
构造函数:
var reg = new RegExp('\\bis\\b', 'gi')
'He is a boy.Is he?'.replace(reg, 'IS')//He IS a boy.IS he?
查看全部 -
^表示开头,$表示结尾
查看全部 -
[/-]表示或
查看全部 -
字符串对象方法
stringl.protatype.search(reg)
search()方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串
方法返回第一个匹配结果index,查找不到返回-1
search()方法不执行全局匹配,它将忽略标志g,并且总是从字符串开始进行检索
string.prototype.match(reg)
match()方法将检索字符串,以找到一个或多个与regexp匹配的文本
regexp是否具有标志g对结果影响很大
非全局调用:如果regexp没有标志g,那么match()方法就只能在字符串中执行一次匹配,没找到任何匹配文本将返回null,否则将返回一个数组,其中存放了与它找到的匹配文本有关的信息:返回数组的第一个元素存放的是匹配文本,而其余元素存放的是与正则表达式的子表达式匹配的文本。
除了常规数组元素之外,返回的数组还含有2个对象属性:index声明匹配文本的起始字符在字符串的位置;input声明对stringobject的引用
全局调用:如果regexp具有标志g则match()方法将执行全局检索,找到字符串中的所有匹配子字符串:没有找到任何匹配的子穿,则返回null,否则返回一个数组,数组元素中存放的是字符串中所有匹配子串,而且也没有index属性或input属性
查看全部 -
RegExp.prototype.test(str):用于测试字符串参数中是否存在匹配正则表达式模式的字符串,存在返回true,否则返回false
var reg2=/\w/g;
进行reg2.test('ab')时,第三次会变成false
原因:while(reg2.test('ab')){
console.log(reg2.lastIndex);
}
即进行test时,正则表达式的lastIndex会发生变化
输出:1 2 表示第一个匹配上了、第二个匹配上了
RegExp.prototype.exec(str):使用正则表达式模式对字符串执行搜索,并将更新全局RegExp对象的属性以反映匹配结果
如果没有匹配则返回null,否则返回一个结果数组:index声明匹配文本的第一个字符的位置,input存放被检索的字符串string
非全局调用:
调用非全局的RegExp对象的exec()时,返回数组
第一个元素是与正则表达式相匹配的文本
第二个元素是与RegExpObject的第一个子表达式(分组)相匹配的文本
第三个元素是与RegExp对象的第二个子表达式(分组)相匹配的文本
以此类推
查看全部 -
对象属性
global:是否全文搜索,默认false
ignore case:是否大小写敏感,默认是false
multiline:多行搜索,默认值是false
lastIndex:当前表达式匹配内容的最后一个字符的下一个位置
source:正则表达式的文本字符串
不能直接修改
查看全部 -
正则表达式从文本头部向尾部开始解析,文本尾部方向为“前”,头部方向为“后”
前瞻:正则表达式匹配到规则的时候,向前检查是否符合断言,后顾/后瞻方向相反(javascript不支持)
符合断言:肯定/正向匹配 不符合断言:否定/负向匹配
正向前瞻:exp(?=assert) 负向前瞻:exp(?!assert)
exp:规则部分 assert:断言部分
前瞻中断言只作为判断条件,不参与规则部分的操作
查看全部 -
量词仅作用于其紧挨着的字符而非整个字符串
用()可以达到分组的功能,使量词作用于分组
或:| byr(on|ca)sper:能选的只有on或ca
反向引用:
2015-12-25=>12/25/2015
'2015-12-25'.replace(/(\d{4})-(\d{2})-(\d{2})/g,'$2/$3/$1')
忽略分组:在分组内加上?:
查看全部 -
贪婪模式:尽可能多地匹配,直到匹配失败
即匹配过程中有多个条件符合的话,会选择最多的那一种
非贪婪模式:让正则表达式尽可能少的匹配,一旦成功匹配则不再继续尝试,在量词后面加上?即可
查看全部 -
量词
? 出现0或1次(最多1次)
+ 出现1或多次(至少1次)
* 出现0或多次(任意次)
{n} 出现n次
{n,m} 出现n到m次
{n,} 至少出现n次
量词放在元字符后面,如\d+
查看全部
举报