JavaScript(简称 “JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发 Web 页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。
JavaScript 实现了 ECMAScript 官方标准(ECMA 262)的语言分支,是继最初的 Netscape JavaScript 之后的新一代脚本语言。
JavaScript 作为一门编程语言,同样也支持正则表达式。JavaScript 中的正则表达式的一个主要用途是处理由终端用户在 Web 表单中输入的信息。
在 JavaScript 中,可以通过 RegExp 对象的实例来创建和使用正则表达式,而创建这些实例的方式有两种:
(1)将一个正则表达式直接指定给一个变量。例如,通过下面代码可以将正则表达式 “t$” 指定给变量 myPattern:
var myPattern = /t$/;
(2)通过 RegExp 对象的构造函数来创建一个新的 RegExp 对象实例,例如:
var myPattern = new RegExp("t$");
正则表达式 “t$” 将会匹配任何以字符 t 结尾的字符串。
上面介绍了怎样创建 RegExp 正则表达式对象实例。这里将介绍在 JavaScript 中怎样应用创建好的 RegExp 对象实例,如下:
在 String.replace() 方法中使用正则表达式进行字符串替换。如下:
var str = "hello world"; str = str.replace(/(hello)(\s+)(world)/, "$3_$1"); alert(str);
方法 match() 将检索字符串 string,以找到一个或多个与 regexp 匹配的文本。这个方法的行为很大程度上依赖于 regexp 是否启用全局特性 g。
方法 split() 将创建并返回一个字符串数组,该数组中的元素是指定的字符串 string 的子串,最多具有 limit 个。这些子串是通过从头到尾检索字符串中与 delimiter 匹配的文本,在匹配文本之前和之后分割 string 得到的。返回的子串中不包括定界符 文本(下面提到的情况除外)。如果定界符从字符串开头开始匹配,返回的数组的第一个元素是空串,即出现在定界符之前的文本。同样,如果定界符与字符串的结尾匹 配,返回的数组的最后一个元素也是空串(假定与limit没有冲突)。
还可以直接使用 RegExp 实例方法,如:
test(string):检测字符串 string,看它是否含有与 regexp 相匹配的文本
exec(string):将检索字符串 string,从中得到与正则表达式 regexp 相匹配的文本