JS正则表达式(转载)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS正则表达式(转载)相关的知识,希望对你有一定的参考价值。
在javascript中,RegExp对象表示正则表达式,用来对字符串进行匹配。
一、两种定义方法:
1、直接量法:
/pattern/attribute
2、对象法:
new RegExp(pattern,attribute);
参数说明:
pattern是一个字符串,指定了正则表达式的模式或其他的正则表达式;
attribute是一个可选的字符串,用来模式匹配的范围,包括i,g,m三个字符,分别代表区分大小写匹配、全局匹配和多行匹配。(如果pattern是正则表达式而不是字符串,怎必须删除该参数)
i-->ignoreCase;
g-->gloable;
m-->multiLine;
二、正则表达式语法说明:
正则表达式的语法从修饰符、方括号、元字符、量词、RegExp对象属性、RegExp对象方法和支持正则表达式的String对象的方法等七个方面进行描述:
1、修饰符:
修饰符 | 描述 |
i | 执行对大小写不敏感的匹配 |
g | 执行全部匹配(查找所有的匹配项,而非在找到第一个匹配项后结束) |
m | 执行多行匹配 |
2、方括号:
表达式 | 描述 |
[abcd] | 查找给定集合内的任意字符 |
[^abcd] | 查找不在给定集合内的任意字符 |
[0-9] | 查找任何从0到9的数字 |
[a-z] | 查找任何从a到z的小写字母 |
[A-Z] | 查找任何从A到Z的大写字母 |
[A-z] | 查找任何从大写A到小写z的字母 |
[red|blue|green] | 查找任何指定的选项 |
3、元字符
元字符 | 描述 |
. | 查找任意一个字符,不包括换行符和行结束符 |
\w | 查找单词字符,单词字符包括a-z、A-Z、0-9和下划线 |
\W | 查找非单词字符 |
\d | 查找数字 |
\D | 查找非数字字符 |
\s | 查找空白字符,包括空格符、制表符、回车符、换行符、垂直换行符和换页符 |
\S | 查找非空白字符 |
\b | 匹配单词边界 |
\B | 匹配非单词边界 |
\0 | 查找null字符 |
\n | 查找换行符,返回换行符被找到的位置,如果没有就返回-1 |
\f | 查找换页符 |
\r | 查找回车符 |
\t | 查找制表符 |
\v | 查找垂直制表符 |
\××× | 查找以八进制数×××规定的字符 |
\×dd | 查找以十六进制dd规定的字符 |
\u×××× | 查找以十六进制××××规定的unicode字符 |
4、量词
量词 | 描述 |
n+ | 匹配包含至少一个n的字符串 |
n* | 匹配包含0个或多个n的字符串 |
n? | 匹配包含0个或1个n的字符串 |
n{X} | 匹配包含x个n的序列的字符串 |
n{X,Y} | 匹配包含X个或Y个n的序列的字符串 |
n{X,} | 匹配至少包含X个n的序列的字符串 |
n$ | 匹配任何以n结尾的字符串 |
^n | 匹配任何以n开头的字符串 |
?=n | 匹配任何其后紧接指定字符串n的字符串 |
?!n | 匹配任何其后不紧接指定字符串n的字符串 |
5、RegExp对象属性
属性 | 描述 |
gloable | RegExp对象是否有g标示,RegExpObject.global,返回boolean类型 |
ignoreCase | RegExp对象是否有i标示,RegExpObject.global,返回boolean类型 |
multiline | RegExp对象是否有m标示,RegExpObject.global,返回boolean类型 |
lastIndex | 一个整数,表示下一次开始匹配的位置 |
source | 正则表达式原文本 ,返回模式匹配所用的文本 |
6、 RegExp对象方法
方法 | 描述 |
compile | 编译正则表达式。用法:RegExpObject.compile(regexp,modifier) modifier规定匹配的类型-->i,m,g |
exec | 检索字符串中指定的值,返回找到的值并确定其位置,如果没找到则返回null |
test | 检索字符串中指定的值,返回boolean类型.用来判断一个字符串是否匹配某个模式,RegExpObject.test(String) |
7、支持正则表达式的 String 对象的方法
方法 | 描述 |
search | 检索与正则表达式相匹配的值或指定的子字符串。用法:stringObject.search(regexp) |
match | 匹配指定的值或与一个或多个正则表达式匹配的字符串。用法:stringObject.match(searchvalue);stringObject.match(regexp) |
replace | 用一些字符替换另一些字符或替换与一个正则表达式匹配的子串。用法:stringObject.replace(regexp/substr,replacement),前者是子串或要替换的正则表达式,后者是替换文本 |
split | 用于把一个字符串分割成字符串数组。用法:stringObject.split(separator,howmany)。前者必须,字符串或正则表达式,从该参数指定的地方开始分割。 |
以上是关于JS正则表达式(转载)的主要内容,如果未能解决你的问题,请参考以下文章