了解几个简单的正则表达式还是很容易的,也非常有必要。
正则表达式(regular expression):
正则表达式用于在一个字符串中找到确定的字串或模式。
例如:
如果我们想在“The dog chased the cat”字符串中找到“the”,我们可以用这个表达式:/the/gi
让我们分开来理解 :
/ 是正则表达式的开始.
the 是我们想要匹配的模式串.
/ 是正则表达式的结束.
g 代表global(全局,全部), 就是找到字符串中所有与the匹配的,不只是第一个.
i 代表ignore 忽略大小写(uppercase or lowercase) 。
看下面的例子:
var testString = "Ada Lovelace and Charles Babbage designed the first computer and the software that would have run on it.";
// Example1
var expressionToGetSoftware = /software/gi;
var softwareCount = testString.match(expressionToGetSoftware).length;
//返回1
// Example2
var expression = /and/gi;
var andCount = testString.match(expression).length;
//返回2
正则表达式查找数字
我们可以通过正则表达式的选择器来选择特定类型的值。
一种选择器就是数字选择器 \d ,用来检索一个串中的数字(例如0到9).
在Javascript的语法格式为:/\d/g
在选择器后面加一个+号可以匹配多个数字:/\d+/g
var testString = "There are 3 cats but 4 dogs.";
var expression = /\d+/g;//选择多个数字
var digitCount = testString.match(expression).length;
//返回2
查找空格
我们同样可以使用 \s选择器来查找串种的空格 。
此空格字符不仅包括 ” ” (space), 还有\r , \n , \t , 和\f (换页).
表达式:/\s+/g
var testString = "How many spaces are there in this sentence?";
var expression = /\s+/g;
var spaceCount = testString.match(expression).length;
//返回7
反转正则表达式
你可以大写选择器来达到相反的效果。
例如:\s 匹配空格, 但是\S会匹配所有不是空格的东西。
例子:
用 /\S/g 来数在 testString字符串中非空格的字符个数。
var testString = "How many non-space characters are there in this sentence?";
var expression = /\S/g;
var nonSpaceCount = testString.match(expression).length;
//返回49