- 浏览: 548857 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
coosummer:
推荐使用http://buttoncssgenerator.c ...
【转载】CSS圆角按钮(一) -
saiarmuluo:
不错,支持。
java log4j日志 写入数据库 -
springdata_springmvc:
spring mvc demo教程源代码下载,地址:http: ...
Freemarker 使用 -
zlbdexiaohao:
棒棒的
flex ToolTip汇总 -
hw_128:
demo的代码的,能不能发一下,谢谢 qq257515270 ...
java log4j日志 写入数据库
首相讲讲JScript的正则表达式对象RegExp。
JScript中提供正则表达式操作的类名为RegExp,可以用两种方式实例化RegExp类型的对象。
方法一,构造函数实例化:
var myRegex = new RegExp("\\w+", "igm ");
//\w+为实际正则表达式,注意第一个\为转义之用,igm分别表示忽略大小写,全局搜索,多行搜索,这个后面会解释
方法二,直接赋值法:
var myRegex = /\w+/igm;
//效果与上一个语句一样,只是这里不需要用转移字符,原正则表达式是什么样子就是什么样子,igm就和前面例子的igm作用一样
具体用什么方式看大家喜好了,个人觉得第二种方式写的正则比较好读些,RegexBuddy帮助文档也是推荐第二种方式。 RegExp对象包含以下一些操作:
exec(string str):执行正则表达式匹配,并返回匹配结果,根据MSDN给出的例子运行结果看,exec每次执行都是从上次直接的匹配结束位置开始,并且返回的值似乎是RerExp对象,而RegexBuddy给出的解释是返回一个数组,但是没有给出详细例子,我觉得还是根据试验结果为依据比较可靠。
compile(string regex, string flags):预编译正则表达式以使其运行更快,经过测试的确预先编译后效率有明显提升。regex参数为正则表达式,flags可以为以下3个值的组合: g – 全局搜索,我的试验结果是不加g标志就只能匹配第一个符合条件的字符串 i – 忽略大小写 m – 多行搜索,似乎默认已经是多行搜索了
test(string str):如果str匹配正则表达式返回true,否则返回false,这个类似string对象的match方法
RegExp对象包含以下一些属性:
index:字符串中第一个匹配表达式的位置,初始为-1
input:正则表达式的匹配目标,注意是只读的
lastIndex:下一个匹配表达式的位置,原话是(Returns the character position where the next match begins in a searched string.)也不知道有没有翻译错,这个属性我没有用到。
lastMatch:最后一个匹配表达式的字符串
lastParen:最后一个匹配的子匹配串,比如正则表达式里有多个以()分组的匹配项,lastParen表示最后一组所匹配的结果
leftContext:从目标字符串的开头到last match的起始位置的所有字符。
rightContext:从last match的结束位置到整个目标字符串的结束位置的所有字符。
$1…$9:表示第n组匹配的结果,这个在正则表达式里有多个以()分组时有用
接下来讲讲,JScript中String对象与正则表达式有关的操作:
match(string regex):接受一个正则表达式,并返回该字符串是否与这个表达式匹配。
replace(srting regex, string str):将与正则表达式匹配的子字符串替换为str,这个函数看似简单,不过还隐藏着更高级用法哦,请看以下例子。
例子1:
var str1 = "A:My name is Peter!\nB:Hi Peter!";
str1 = str1.replace(/Peter/g,"Jack");
alert(str1);
这个例子很简单就是把字符串替换了,这则表达式的威力当然不只于此,如果你用的熟练,还能用它完成很多以往需要大量代码完成的工作。比如在代码关键字前后加上由于高亮显示的HTML标签。从前面例子看来似乎replace只能把匹配的文本替换成新的文本啊,怎么利用它在关键字前后插入标签呢?返过来想象,如果在替换时能利用匹配结果,那么事情不就好办了,只要将关键字替换为:标签头 + 关键字 + 标签尾 不就行了。
可是要如何在replace中使用正则表达式匹配的结果呢?
这时候我们就需要用到“匹配变量”了,匹配变量用于表示正则匹配的结果,以下是匹配变量的说明:
$& -- 表示全部匹配组匹配的结果,最后再啰嗦一次,匹配组就是正则表达式的()分组
$$ -- 表示$字符,因为匹配变量用掉了$字符,所以需要转义
$n -- 类似前面的$1…$9,表示第n组匹配的结果
$nn -- 很简单就是第nn组匹配的结果
$` -- 就是前面提到过的leftContext,比如abcdefg被匹配出了d那么abc就是它的leftContext了
$' -- 和上面符合很接近不要看错了!,这个就是rightContext了,举一反三,efg就是上面例子的rightContext了 那么现在我们要做到在关键字前后插入标签就很简单了:
var str1 = "A:My name is Peter!\nB:Hi Peter!";
str1 = str1.replace(/Peter/g, "<b>$&</b>");
alert(str1);
都0:39了。。。就写到这里吧。
正则工具软件下载(密码: regex):regex buddy 2.06.zip
我写的例子请看:JScript做语法加亮显示(代码精简)
一下是MSDN载抄的一些例子:
function matchDemo()
{
var s;
var re = new RegExp("d(b+)(d)","ig");
var str = "cdbBdbsbdbdz";
var arr = re.exec(str);
s = "$1 contains: " + RegExp.$1 + "\n";
s += "$2 contains: " + RegExp.$2 + "\n";
s += "$3 contains: " + RegExp.$3;
return(s);
}
function RegExpTest()
{
var ver = Number(ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion())
if (ver >= 5.5){
var src = "The rain in Spain falls mainly in the plain.";
var re = /\w+/g;
var arr;
while ((arr = re.exec(src)) != null)
print(arr.index + "-" + arr.lastIndex + "\t" + arr);
}
else{
alert("You need a newer version of JScript for this to work");
}
}
function matchDemo()
{
var s; //Declare variable.
var re = new RegExp("d(b+)(d)","ig"); //Regular expression pattern.
var str = "cdbBdbsbdbdz"; //String to be searched.
var arr = re.exec(str); //Perform the search.
s = "$1 returns: " + RegExp.$1 + "\n";
s += "$2 returns: " + RegExp.$2 + "\n";
s += "$3 returns: " + RegExp.$3 + "\n";
s += "input returns : " + RegExp.input + "\n";
s += "lastMatch returns: " + RegExp.lastMatch + "\n";
s += "leftContext returns: " + RegExp.leftContext + "\n";
s += "rightContext returns: " + RegExp.rightContext + "\n";
s += "lastParen returns: " + RegExp.lastParen + "\n";
return(s); //Return results.
}
document.write(matchDemo());
发表评论
-
Canvas 精度条 demo
2012-12-13 15:49 1126帮 问答 模块一哥们写demo 效果图如下: < ... -
Html:如何固定表格的标题行和标题列
2012-11-27 15:18 10993Html:如何固定表格的标题行和标题列 <html> ... -
javascrip Function
2012-02-04 11:48 1272javascript函数在javascirpt 1 ... -
一款非常不错的jquery window
2012-01-12 12:36 0jQuery Window Plugin htt ... -
ie打印接口带自动分页
2012-01-04 19:52 37852009-09-15 JavaScript IE打印接口带自动 ... -
javascript - scrollTop,offsetTop
2011-12-21 16:49 0<html> <head> ... -
转载html-IFream
2011-07-29 16:55 924本文为转载,非原创 ... -
javascript解析xml(IE,FF)
2011-03-11 20:07 2409IE写法: xmlDoc=new ActiveXObject ... -
javascript属性带特殊符号处理(#,.\)
2011-02-24 09:03 2410本文个人总结:转载请表明出处:http://demojava. ... -
javascript select 操作
2011-01-06 13:32 1100js操作select 1.判断select选项中 是否存 ... -
js时间验证
2011-01-04 09:35 1737// 验证输入的日期 //startdate_st ... -
CSS-background-position
2010-12-17 13:46 1495#edit_bar{ width:99%; margin:5 ... -
javascript打开页面方法
2010-10-18 10:19 2732判断是否在框架集中打开页面的if(location!=top. ... -
如何用js获取table第1行第2列的值
2010-10-11 10:17 3902<html><head > < ... -
IE6.0、IE7.0 与FireFox CSS兼容的解决方法
2010-08-25 14:33 1323IE6.0、IE7.0 与FireFox CSS兼容的解决方法 ... -
表单点击提交按钮后变成灰色不可再次点击
2010-08-20 16:20 4205<html> <head><m ... -
Yahoo!,Jquery,prototype与Ext适配器文件引入顺序
2010-08-18 18:09 1151ext的适配器文件引入顺序:Ext ext-base ... -
javascript常用的刷新页方法浅谈
2010-08-12 17:06 1110Javascript刷新页面的几种方法:1 histor ... -
js正则表达士
2010-07-29 21:36 985这是我发了不少时间整理的C#的正则表达式,新手朋友注意一定要手 ... -
Javascript中最常用的经典技巧
2010-07-29 21:31 7851. oncontextmenu="window.e ...
相关推荐
javascript中正则表达式用法详解
本文接下来的内容先简要地介绍正则表达式的入门知识,然后以Jakarta-ORO API为例介绍如何使用正则表达式。 一、正则表达式基础知识 我们先从简单的开始。假设你要搜索一个包含字符“cat”的字符串,搜索用的正则...
1. **创建正则表达式**:在JScript中,有两种创建正则表达式的方法:字面量表示法(/pattern/flags)和构造函数表示法(new RegExp('pattern', 'flags'))。 2. **模式匹配**:正则表达式模式定义了要匹配的文本...
Java 正则表达式详解是一份详细的正则表达式使用指南,它涵盖了正则表达式的基础知识、语法、实践应用等方面的内容。本文首先简要地介绍了正则表达式的基础知识,然后以 Jakarta-ORO API 为例,详细地介绍了如何使用...
JScript 8.0作为微软IE8浏览器中的脚本语言,其正则表达式的强大功能在处理表单验证、数据清洗、文本解析等方面均有广泛应用。理解并熟悉正则表达式的语法,对于任何需要进行文本处理和数据提取的开发者来说,是一项...
]js正则表达式基本语法(精粹): //www.jb51.net/article/72044.htm ... 在JDK1.3及之前的JDK版本中并没有包含正则表达式的类,如果要在Java中使用正则表达式必须使用第三方提供的正则表达式库,最有名的就是Jakart
JScript中正则表达函数的说明与应用 正则表达式(Regular Expression)是一种强有力的文本处理工具,在各种编程语言中广泛应用。JScript作为服务器端/客户端的脚本开发语言,也逐渐将正则表达式应用融入其中,以...
### Java正则表达式详解 #### 一、正则表达式概述 正则表达式(Regular Expression),简称“regex”或“regexp”,是一种强大的文本处理工具。它通过一系列的字符和符号来描述一种抽象的模式,进而用于文本的查找...
Java正则表达式详解 Java正则表达式是指使用特殊字符和语法来描述字符串的模式,以便于进行文本处理和模式匹配。正则表达式在许多语言中都有所应用,包括Perl、PHP、Python、JavaScript和JScript等。本文将详细介绍...
许多语言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正则表达式处理文本,一些文本编辑器用正则表达式实现高级“搜索-替换”功能。那么Java又怎样呢?你可以在这里找到答案
再来看CSS注释,它同样使用`/*`和`*/`包裹。CSS注释常用于分组样式,或者提供关于设计决策的信息: ```css /* 这个CSS区块用于设置头部样式 */ .header { color: #333; font-size: 18px; } ``` CSS“hack”通常...
**JScript详解** JScript,全称为Microsoft JScript,是由微软公司开发的一种脚本语言,主要应用于Web开发,与JavaScript非常相似,但并非完全相同。本文将深入探讨JScript的基本概念、语法特性以及在实际应用中的...
本篇文章将深入探讨“易语言JS脚本组件表达式计算源码”,并结合压缩包中的"脚本组件+Jscript实现表达式计算器.e"和"源码使用说明.txt"文件,详细介绍其工作原理和使用方法。 易语言以其直观的中文语法和丰富的组件...
VBScript和JScript是两种广泛使用的脚本语言,其中VBScript具有更强大的字符串处理功能,而JScript通过正则表达式增强了其处理能力。在VBScript中,正则表达式能够在一个表达式中完成多个字符串操作,提高了效率。 ...
总的来说,正则表达式是程序员处理文本的强大工具,理解并掌握其语法和使用方法对于提高文本处理能力至关重要。通过不断实践和学习,你可以利用正则表达式解决各种文本处理问题,无论是在Java还是其他支持正则表达式...
二、JScript引用的使用方法 1. 添加引用:在Visual Studio中,可以通过项目属性页的“引用”选项卡来添加对.NET组件的引用。选择需要的组件后,JScript代码就可以使用该组件的所有公开成员。 2. 使用引用:在JScript...
9. **正则表达式**:JScript支持正则表达式,可以用于文本匹配、替换和查找等任务,是进行复杂文本处理的强大工具。 10. **内置对象和函数**:JScript包含一系列内置对象,如Array、Date、Math等,以及全局函数,如...