JavaScript程序开发(十三)—RegExp类型

ECMAScript通过RegExp类型支持正则表达式。可以用下面类似于perl的语法创建一个正则表达式。

var expression = /pattern flags;

其中模式部分可以是任何一个简单或复杂的正则表达式,每个正则表达式都包含有一个或多个标志(flags),用以表明正则表达式的行为。正则表达式的匹配模式支持下列3个标志:

g—全局(global)模式,即模式将应用于所有的字符串;

i—表示不区分大小写(case-insenitive)模式,即在确定匹配项时忽略模式与字符串的大小写;

m—多行(multiline)模式,在一行文本到达末尾时再继续查找下一行中是否存在匹配项。

由上面的介绍可以知道,在ECMAScript中,一个正则表达式就是一个模式与3个标志的组合体,不同的组合产生不同的结果。看下面一些实例:

 

复制代码
/**
 *匹配字符串中所有he 
 */
var exp = /he/g;

/**
 * 匹配字符串中第一个"ahe"或"bhe",不区分大小写
 */
var exp2 = /[ab]he/i;
    
/**
 * 匹配字符串所有以he结尾的3个字符组合,不区分大小写
 */
var exp3 = /.he/gi;
复制代码

 

在ECMAScipt中的元字符要进行转义,这些元字符包括:

([{}])\^$|?*+.

正则表达式还有另外一种创建方式—RegExp构造函数。它接受两个参数,一个是要匹配的字符串模式,另一个是可选的标志字符串。

var exp4 = new RegExp("[ab]he","g");

RegExp属性

RegExp的每个对象实例都有下列5个属性,通过这些属性可以获取有关模式的各种信息。

global-布尔值,表示是否设置了g标志;

ignoreCase-布尔值,表示是否设置了i标志;

lastIndex-整数,表示开始搜索的下一个匹配项的位置,从0算起;

multiline-布尔值,表示是否设置了m标志;

source-正则表达式的字符串表示,按照字面量形式返回(而不是传入到构造函数中的字符串模式)。

复制代码
<script type="text/javascript">
    var exp = /[ab]he/gmi;
    document.write(exp.global+"<br />");
    document.write(exp.source+"<br/>");
    document.write(exp.lastIndex+"<br />");
    document.write(exp.multiline+"<br />");
    document.write(exp.ignoreCase);
</script>
复制代码

RegExp方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值