Regular expressions
正则表达式被用来根据某种匹配模式来寻找strings
中的某些单词。
举例:如果我们想要找到字符串I like Javascript单词like,我们可以使用下面的正则表达式: /like/gi
正则表达式分成几段:
/
是这个正则表达式的头部
the
是我们想要匹配的模式
/
是这个正则表达式的尾部
g
代表着 global
(全局),意味着返回所有的匹配而不仅仅是第一个。
i
代表着忽略大小写。
例如:var testString = "I like Javascript";
var expression = /like/gi;
var Count = testString.match(expression).length;
求得like个数
正则表达式中使用特殊选择器来选取特殊类型的值。
特殊选择器中的一种就是数字选择器\d
,意思是被用来获取一个字符串的数字。
在JavaScript中, 数字选择器类似于: /\d/g
。
在选择器后面添加一个加号标记(+
),例如:/\d+/g
,它允许这个正则表达式匹配一个或更多数字。
尾部的g
是'global'的简写,意思是允许这个正则表达式 找到所有的匹配而不是仅仅找到第一个匹配。
var expression = /\d+/g;
var digitCount = testString.match(expression).length;
得到数字个数为2
可以使用正则表达式选择器 \s
来选择一个字符串中的空白。
空白字符有 " "
(空格符)、\r
(回车符)、\n
(换行符)、\t
(制表符) 和 \f
(换页符)。
空白正则表达式类似于:
/\s+/g
var expression = /\s+/g;
var spaceCount = testString.match(expression).length;
空白字符个数为7
正则表达式选择器的大写版本 来转化任何匹配。
例如:\s
匹配任何空白字符,\S
匹配任何非空白字符。
var testString = "How many non-space characters are there in this sentence?";
var expression = /\S/g;
var nonSpaceCount = testString.match(expression).length;
运行为49
改为\s运行为8