Javascript正则表达式

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!"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值