JavaScript 正则表达式Regular expressions

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_41275621/article/details/83420797

(一)

Regular expressions 正则表达式被用来根据某种匹配模式来寻找strings中的某些单词。

举例:如果我们想要找到字符串The dog chased the cat中单词 the,我们可以使用下面的正则表达式: /the/gi

我们可以把这个正则表达式分成几段:

/ 是这个正则表达式的头部

the 是我们想要匹配的模式

/ 是这个正则表达式的尾部

g 代表着 global(全局),意味着返回所有的匹配而不仅仅是第一个。

i 代表着忽略大小写,意思是当我们寻找匹配的字符串的时候忽略掉字母的大小写。

// 初始化变量
var testString = "Ada Lovelace and Charles Babbage designed the first computer and the software that would have run on it.";

// 举例
var expressionToGetSoftware = /and/gi;
var softwareCount = testString.match(expressionToGetSoftware).length;
  

这样就可以查找 and 的字符串数量.

(二)

我们可以在正则表达式中使用特殊选择器来选取特殊类型的值。

特殊选择器中的一种就是数字选择器\d,意思是被用来获取一个字符串的数字。

在JavaScript中, 数字选择器类似于: /\d/g

在选择器后面添加一个加号标记(+),例如:/\d+/g,它允许这个正则表达式匹配一个或更多数字。

尾部的g是'global'的简写,意思是允许这个正则表达式 找到所有的匹配而不是仅仅找到第一个匹配。 

// 初始化变量
var testString = "There are 3 cats but 4 dogs.";
var expression = /\d+/g;  
// 用 digitCount 存储 testString 中匹配到 expression 的次数
var digitCount = testString.match(expression).length;

(三)

我们也可以使用正则表达式选择器 \s 来选择一个字符串中的空白。

空白字符有 " " (空格符)、\r (回车符)、\n (换行符)、\t (制表符) 和 \f (换页符)。

空白正则表达式类似于:

/\s+/g

// 初始化变量
var testString = "How many spaces are there in this sentence?";
var expression = /\s+/g;  
// 用 spaceCount 存储 testString 中匹配到 expression 的次数
var spaceCount = testString.match(expression).length;

(四)

你可以用正则表达式选择器的大写版本 来转化任何匹配。

举个例子:\s 匹配任何空白字符,\S 匹配任何非空白字符。

// 初始化变量
var testString = "How many non-space characters are there in this sentence?";

var expression = /\S/g; 
// 用 nonSpaceCount 存储 testString 中匹配到 expression 的次数
var nonSpaceCount = testString.match(expression).length;

返回的值 : 49

(五)

function palindrome(str) {
  
  var old = str.replace(/[\W_]/g,'').toLowerCase();
  
  return old;
}


palindrome("My age is 0, 0 si ega ym.");

//返回结果
myageis00siegaym

\W  选取除去标点的字符串

\w  选取标点

猜你喜欢

转载自blog.csdn.net/weixin_41275621/article/details/83420797
今日推荐