作者:手机用户2502891053 | 来源:互联网 | 2023-09-18 20:55
概述正则表达式是什么正则表达式(RegularExpression):由一些一般字符和特别字符组成的,用以形貌一种特定的字符划定规矩的表达式。正则表达式经常运用在一段文本中搜刮、婚
概述
正则表达式是什么
正则表达式(RegularExpression):由一些一般字符和特别字符组成的,用以形貌一种特定的字符划定规矩的表达式。
正则表达式经常运用在一段文本中搜刮、婚配或替代特定情势的文本。比方:词语涌现频次统计、考证字符串是不是相符邮箱花样、屏障一篇帖子中的限制性词语等。
建立正则表达式
/*
1.字面量/直接量体式格局
var 变量名 = /pattern/attributes
* pattern - 称为形式,用于定义正则表达式的内容
* attributes - 称为修饰符,用于定义正则表达式的行动
*/
var reg = /123456789/i;
/*
2.组织函数体式格局
var 变量名 = new RegExp(pattern [, attributes])
* pattern - 称为形式,用于定义正则表达式的内容
* attributes - 称为修饰符,用于定义正则表达式的行动
*/
var reg = new RegExp('123456789', 'i');
pattern参数:被称为形式,能够使任何简朴或庞杂的正则表达式,包括字符类、限定符、分组、向前查找以及反向援用等。
attributes参数:被称为修饰符,用于表明正则表达式的行动。
标记
直接量字符
正则表达式中的一切字母和数字都是根据字面寄义举行婚配的。Javascript正则表达式语法也支撑非字母的字符婚配,这些字符须要经由过程反斜线作为前缀举行转义。
字符类
将直接量字符零丁放进方括号内就组成了字符类。一个字符能够婚配它所包括的恣意字符。由于某些字符类异常经常运用,Javascript的正则表达式中,运用特别转义字符示意他们。
var str = 'king';
// 正则表达式的内容中定义划定规矩 -> 考证的内容是不是包括划定规矩
// var reg = /123456789/;
// 正则表达式的内容中定义划定规矩 -> 考证的内容婚配任何字符即可
var reg = /[0123456789]/;
var reg = /[\d]/;
var reg = /[0-9]/;
var reg = /[a-zA-Z]/;
var result = reg.test(str);
console.log(result);
反复
在Javascript中的正则表达式用来形貌恣意多位的数字,或许形貌由三个字母和一个数字组成的字符串时,能够运用字符反复耳钉标记。
var str = 'wolong124xue3yuan';
/*
{n, m} - 示意字符类中恣意字符涌现的次数
* n - 示意最少涌现n次(包括n次)
* m - 示意最多涌现m次(包括m次)
* 注重 - 涌现的次数必需是一连的
*/
var reg = /[0-9]{3,5}/;
var result = reg.test(str);
console.log(result);
婚配指定的位置
正则表达式中的多个元素才能够婚配字符串的一个字符,这些元素称之为正则表达式的锚。由于它们将形式定位在搜刮字符串的特定位置上。
经常运用两中‘^’和‘$’一个示意从婚配输入的最先,另一个示意 从婚配输入的完毕。
var str = '12a45';
// 示意以什么最先的
// var reg = /^[0-9]{3,5}/;
// 示意以什么完毕的
// var reg = /[0-9]{3,5}$/;
// 示意婚配内容的长度只能为最少n次,最多m次,而且内容必需与字符类婚配
var reg = /^[0-9]{3,5}$/;
var result = reg.test(str);
console.log(result);
// 长度为6-16位的数字或字母
/^[0-9a-zA-Z]{6,16}$/
修饰符
正则表达式的修饰符,用于申明高等婚配形式的划定规矩。修饰符是放在“/”标记背面的,Javascript支撑三个修饰符
1.i:不辨别大小写搜刮。
2.g:全局搜刮。
3.m:多行搜刮.
代码示例:
var str = 'wolongxueyuan';
var reg = /^[A-Z]{8,16}$/i;
var result = reg.test(str);
console.log(result);
对象
建立RegExp对象
Javascript能够经由过程援用范例RegExp建立正则表达式对象
参数:
1.pattern参数:被称为形式,能够使任何简朴或庞杂的正则表达式,包括字符类、限定符、分组、向前查找以及反向援用等。
2.attributes参数:被称为修饰符,用于表明正则表达式的行动。
代码示例
var arr = new RegExp(pattern,attributes);
RegExp对象的属性
RegExp对象的要领
RegExp独享的要领有三种:
1.compile():编译/从新编写正则表达式,将pattern转换为每部花样,加速实行速率。
2.exec():检索字符串中指定的值。返回找到的值,并肯定其位置;影响lastlndex属性的值。
3.test():检索字符串中指定的值。返回true或false;影响lastlndex属性的值。