龙空技术网

学点JavaScript——正则表达式(二)

WebEngineer 45

前言:

现时姐妹们对“js去空格正则”大体比较珍视,咱们都需要了解一些“js去空格正则”的相关文章。那么小编在网络上汇集了一些对于“js去空格正则””的相关文章,希望我们能喜欢,大家一起来了解一下吧!

在上一篇文章中,我介绍了什么是正则表达式以及正则表达式的测试的两个方法,分别是test()和exec()方法,那么这篇文章我准备介绍一下字符串中的正则表达式方法。

在JavaScript中,String对象提供了4个使用正则表达式的方法。分别是match(pattern), replace(pattern, replacement), search(pattern), split(pattern)。

其中match(pattern)方法,如果有匹配,返回pattern中的子串,否则返回null。如下图所示。

图中反映的是有匹配时的例子,如果没有匹配的话,例如:

var pattern = /Tony/ig; var string = "His name is Sam." console.log(string.match(pattern)); // null

下面来说一说search(pattern)方法,如下图所示。

如图所示,图中只是简单的把上次的match换成了search, 结果输出了一个数字,为12。事实上,这个数字代表第一个匹配的字符串在整个字符串中的位置。你们可以数一数,第一个“Tony”出现的起始位置为第12位(其中第一位的index为0)。如果要是没有匹配呢?

例如: var pattern = /Tony/ig; var string = "His name is Sam." console.log(string.search(pattern)); // 结果返回的值为-1。也就是说,如果没有匹配,默认返回数字-1。还有一点需要指出的是,用search(pattern)方法时,如果查找到即返回,所以是无需使用全局g的。

下面来看replace(pattern, replacement), 查找到匹配之后还要替换匹配的字符串。如图所示。

上图中分为两种情况,一种是没有全局匹配,一种是有全局匹配,如第一个例子,没有使用全局匹配,所以只是第一个“Tony”被替换成“Sam”,而第二个例子中,使用了全局匹配,所以字符串中的两个“Tony”都被替换成了“Sam”。

最后来看split(pattern), 拆分字符串为数组。例:

var pattern = /Tony/ig; var string = "This is Tony."; console.log(string.split(pattern)); // ["This is", "."] 以Tony为界限,拆分字符串为长度为2的数组。那么如果以空格来分的话会是什么情况呢?例如: var pattern =/ /; var string = "This is Tony."; console.log(string.split(pattern)); // 打印出 [ 'This', 'is', 'Tony.' ] 数组长度为3。

好,以上介绍了字符串的四种正则表达式方法,你们有什么问题吗?欢迎提问,给出意见和建议。

标签: #js去空格正则