首页 > 代码库 > javascript 正则表达式
javascript 正则表达式
正则对象自由的方法以及属性
test()
返回一个布尔值,表示当前模式是否能匹配参数字符串。
成功返回true,失败返回false
let str = \‘javascrip css and html\‘;
let result = /j/.test(str);
console.log(result);//true
exec()
返回匹配结果。如果发现匹配,就返回一个数组,成员是每一个匹配成功的子字符串,否则返回null
返回的结果集还包含index,和input属性
input:整个原字符串。
index:整个模式匹配成功的开始位置(从0开始计数)
let str = \‘javascrip css and html\‘;
let result = /j/.exec(str);
console.log(result);//[\"j\", index: 0, input: \"javascrip css and html\"]
字符串的方法
match():返回一个数组,成员是所有匹配的子字符串。
search():按照给定的正则表达式进行搜索,返回一个整数,表示匹配开始的位置。如果没有则返回-1
replace():按照给定的正则表达式进行替换,返回替换后的字符串。
接受两个参数,第一个是搜索模式,第二个是替换的内容
split():按照给定规则进行字符串分割,返回一个数组,包含分割后的各个成员
match()
let str = \‘javascrip css and html\‘;
let result = str.match(/j|c/g);
console.log(result);//[\"j\", \"c\", \"c\"]
search()
let str = \‘javascrip css and html\‘;
let result = str.search(/css/g);
console.log(result);//10
replace()
let str = \‘javascrip css and html\‘;
let result= str.replace(/css/g,\‘web\‘);
console.log(result);//javascrip web and html
split()
let str = \‘javascrip css and html\‘;
let result= str.split(/s/);
console.log(result);//[\"java\", \"crip c\", \"\", \" and html\"]
正则规则
点字符(.)
点字符(.)匹配除回车(\\r)、换行(\\n) 、行分隔符(\\u2028)和段分隔符(\\u2029)以外的所有字符
let str = \‘javascrip css and html\‘;
let result= str.split(/j.v/);
console.log(result);//[\"\", \"ascrip css and html\"]
位置字符
^ 表示字符串的开始位置
匹配是否已java开头
let str = \‘javascrip css and html\‘;
let result = /^java/.test(str);
console.log(result);//true
$ 表示字符串的结束位置
匹配是否已html结尾
let str = \‘javascrip css and html\‘;
let result = /html$/.test(str);
console.log(result);//true
选择符(|)
竖线符号(|)在正则表达式中表示“或关系”(OR)
是否以html或者java开头
let str = \‘javascrip css and html\‘;
let result = /^html|^java/.test(str);
console.log(result);//true
字符类
字符类(class)表示有一系列字符可供选择,只要匹配其中一个就可以了。所有可供选择的字符都放在方括号内
匹配a,b,c中的一个
let str = \‘javascrip css and html\‘;
let result = /[abc]|^java/.test(str);
console.log(result);//true
如果方括号内的第一个字符是[^],则表示除了字符类之中的字符,其他字符都可以匹配
连字符(-)用来提供简写形式,表示字符的连续范围
[0-9]表示0-9
[a-z]表示字母a到z
预定义匹配
\\d 匹配0-9之间的任一数字,相当于[0-9]。
\\D 匹配所有0-9以外的字符,相当于[^0-9]。
\\w 匹配任意的字母、数字和下划线,相当于[A-Za-z0-9_]。
\\W 除所有字母、数字和下划线以外的字符,相当于[^A-Za-z0-9_]。
\\s 匹配空格(包括制表符、空格符、断行符等),相等于[\\t\\r\\n\\v\\f]。
\\S 匹配非空格的字符,相当于[^\\t\\r\\n\\v\\f]。
\\b 匹配词的边界。
\\B 匹配非词边界,即在词的内部。
重复类
模式的精确匹配次数,
使用大括号({})表示。
{n}表示恰好重复n次,
{n,}表示至少重复n次,
{n,m}表示重复不少于n次,不多于m次。
量词符
量词符用来设定某个模式出现的次数。
? 问号表示某个模式出现0次或1次,等同于{0, 1}。
* 星号表示某个模式出现0次或多次,等同于{0,}。
+ 加号表示某个模式出现1次或多次,等同于{1,}。
修饰符
g:表示全局匹配
i:表示忽略大小写
javascript 正则表达式