Javascript正则表达式

来源:互联网 发布:如何编辑mac桌面图标 编辑:程序博客网 时间:2024/05/22 17:02

Javascript RegExp对象

1,RegExp对象的声明。

RegExp对象是正则表达式,能够用来进行javascript的字符串匹配。
常用的声明方法如下:

(1),/pattern/attributes
(2),new RegExp(pattern, attributes);

其中,pattern是我们编写的正则表达式。attributes是对正则表达式的修饰。attributes的可选的选项有 i 表示按照对大小写不敏感匹配字符串;g 表示在全局范围内匹配字符串;m表示进行对行匹配。


2,方括号。

方括号主要是用来查找一定范围内的字符串。

表达式 描述 示例 [abc] 查找方括号之间的任意字符 'bc'.match(/[abc]/); ->['b'] [^abc] 查找不包括在方括号内的字符 'abcd'.match(/[^abc]/);-> ['d'] [0-9] 查找任何0至9的数字 '1dji'.match(/[0-9]/);->['1'] [a-z] 查找任何a到z之间的字符 [A-Z] 查找任何A到Z之间的字符 [A-z] 查找任何A到z之间的字符

3,元字符。

拥有特殊含义的字符。

表达式 描述 示例 . 查找单个字符,除了换行和行结束符。 'That is hot.'.match(/h.t/g) -> ['hat', 'hot'] \w 查找单词字符。 'hi!'.match(/\w/g) -> ['h', 'i'] \W 查找非单词字符 'hi!'.match(/\W/g) -> ['!'] \d 查找数字字符 'hi 10.'.match(/\d/g) -> ['1', '0'] \D 查找非数字字符 '10!'.match(/\D/g) -> ['!']

4,量词。

量词 描述 n+ 匹配任何至少包括一个n的字符串。 n* 匹配任何包括零个或多个n的字符串。 n? 匹配任何包括零个或一个n的字符串。 n{X} 匹配包含X个n的序列的字符串。 n{X,Y} 匹配包含 X 或 Y 个 n 的序列的字符串。 n{X,} 匹配包含至少 X 个 n 的序列的字符串。 n$ 匹配任何结尾为 n 的字符串。 ^n 匹配任何开头为 n 的字符串。

5,支持正则表达式的String对象方法。

(1)replace()方法。

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
语法是:

stringObject.replace(regexp/substr,replacement)

返回的是一个替换之后的新的字符串。

应该注意的是如果regexp有全局g的标志,那么替换的就是String对象中所有匹配的子串,否则则只替换第一个匹配到的子串。

'cat likes hat'.replace(/a/g, 'o');

结果是:

"cot likes hot"

将单词的首字母改为大写。

'hello everyone!'.replace(/\b\w+\b/g, function(word){     return word.substring(0,1).toUpperCase() + word.substring(1);});

结果是:

"Hello Everyone!"
0 0
原创粉丝点击