- 浏览: 654084 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (609)
- java (139)
- 数据库 (107)
- 微信 (23)
- IT生活 (5)
- web前端 (74)
- SSH (11)
- 设计模式 (12)
- 重要资料 (11)
- 其他 (15)
- java技巧 (23)
- 服务器 (9)
- 2D/GUI (3)
- JAVA3D (2)
- ANT (5)
- Apache项目 (19)
- 数据类型 (10)
- 报表 (3)
- Collections (6)
- SQL/JDBC (15)
- 开发类 (6)
- EJB (6)
- Email (6)
- 文件读写 (2)
- 游戏 (0)
- Flex (2)
- Generic (2)
- HIbernate (12)
- I18N (5)
- Java EE (9)
- java ME (4)
- JDK 6 (8)
- JNDI/LDAP (5)
- JSP (7)
- JSTL (2)
- 正则表达式 (2)
- 安全 (2)
- Struts2 (12)
- Spring (4)
- Web服务 (10)
- Xml (1)
- JavaScript (30)
- AJAX (7)
- 验证 (4)
- 上传下载 (1)
- office办公软件 (1)
- Android (2)
- IOS (0)
- Dubbo (3)
- memcached/redis (1)
- 小程序 (1)
- 微信公众号 (0)
最新评论
-
wf_wangfeng:
怎么我用第一种方法不行呢 alert(document.rea ...
当jsp页面完全加载完成后执行一个js函数 -
Lori_Liu:
有帮助,至少可以解决了目前所遇到的问题!谢谢..
当jsp页面完全加载完成后执行一个js函数 -
starbhhc:
String actionMessage = new Stri ...
Java读取txt文件乱码 -
starbhhc:
Sev7en_jun 写道GOOD
客气,互相交流。。
javaeye论坛规则小测验(答案)--star -
Sev7en_jun:
GOOD
javaeye论坛规则小测验(答案)--star
如果 exec() 找到了匹配的文本,则返回一个结果数组。否则,返回 null。此数组的第 0 个元素是与正则表达式相匹配的文本,第 1 个元素是与 RegExpObject 的第 1 个子表达式相匹配的文本(如果有的话),第 2 个元素是与 RegExpObject 的第 2 个子表达式相匹
如果 exec() 找到了匹配的文本,则返回一个结果数组。否则,返回 null。此数组的第 0 个元素是与正则表达式相匹配的文本,第 1 个元素是与 RegExpObject 的第 1 个子表达式相匹配的文本(如果有的话),第 2 个元素是与 RegExpObject 的第 2 个子表达式相匹配的文本(如果有的话),以此类推。除了数组元素和 length 属性之外,exec() 方法还返回三个属性:
1、index 属性声明的是匹配文本的第一个字符的位置。
2、input 属性则存放的是被检索的字符串 string。
3、lastIndex属性是指匹配的字符串的最后一个字符的下一个字符的位置。
我们可以看得出,在调用非全局的 RegExp 对象的 exec() 方法时,返回的数组与调用方法 String.match() 返回的数组是相同的。
但是,当 RegExpObject 是一个全局正则表达式时,exec() 的行为就稍微复杂一些。当检测到第一个匹配的文本是暂时停止执行,然后把lastIndex属性值设置成下一次开始执行的位置,然后再次调用exec()方法,才可以从已经设置好的位置处继续执行。也就是说,可以通过反复调用 exec() 方法来遍历字符串中的所有匹配文本。当 exec() 再也找不到匹配的文本时,它将返回 null,并把 lastIndex 属性重置为 0。
无论 RegExpObject 是否是全局模式,exec() 都会把完整的细节添加到它返回的数组中。这就是 exec() 与 String.match() 的不同之处,后者在全局模式下返回的信息要少得多。因此我们可以这么说,在循环中反复地调用 exec() 方法是唯一一种获得全局模式的完整模式匹配信息的方法。
注:如果在一个字符串中完成了一次模式匹配之后要开始检索新的字符串,就必须手动地把 lastIndex 属性重置为 0。
实例:
<script type="text/javascript">
var str = "Visit W3School, W3School is a place to study web technology.";
var patt = new RegExp("W3School","g");
var result;
while ((result = patt.exec(str)) != null) {
document.write(result);
document.write("<br />");
document.write(patt.lastIndex);
document.write("<br />");
}
</script>
输出结果:
W3School
14
W3School
24
这里共调用了3次exec方法。
<script language="javascript">
<!--
var mystring="aaa 111 bbb 222 ccc 111 222ddd";
var regex=/111/g;
var array=regex.exec(mystring);
if(array)
{
var str="找到了匹配字串"+"\n返回数组的值为:"+array+"\n数组元素个数:"+array.length+"\n被搜索的字符串为:"+array.input+"\n匹配字串的开始位置为:"+array.index+"\n匹配字串后面的第一个字符的位置为:"+regex.lastIndex;
alert(str);
}
//-->`
</script>
而这里因为没有循环控制语句,所以只调用了一次,返回结果也就为:
找到了匹配字串
返回数组的值为:111
数组元素个数:1
被搜索的字符串为:aaa 111 bbb 222 ccc 111 222ddd
匹配字串的开始位置为:4
匹配字串后面的第一个字符的位置为:7
如果 exec() 找到了匹配的文本,则返回一个结果数组。否则,返回 null。此数组的第 0 个元素是与正则表达式相匹配的文本,第 1 个元素是与 RegExpObject 的第 1 个子表达式相匹配的文本(如果有的话),第 2 个元素是与 RegExpObject 的第 2 个子表达式相匹配的文本(如果有的话),以此类推。除了数组元素和 length 属性之外,exec() 方法还返回三个属性:
1、index 属性声明的是匹配文本的第一个字符的位置。
2、input 属性则存放的是被检索的字符串 string。
3、lastIndex属性是指匹配的字符串的最后一个字符的下一个字符的位置。
我们可以看得出,在调用非全局的 RegExp 对象的 exec() 方法时,返回的数组与调用方法 String.match() 返回的数组是相同的。
但是,当 RegExpObject 是一个全局正则表达式时,exec() 的行为就稍微复杂一些。当检测到第一个匹配的文本是暂时停止执行,然后把lastIndex属性值设置成下一次开始执行的位置,然后再次调用exec()方法,才可以从已经设置好的位置处继续执行。也就是说,可以通过反复调用 exec() 方法来遍历字符串中的所有匹配文本。当 exec() 再也找不到匹配的文本时,它将返回 null,并把 lastIndex 属性重置为 0。
无论 RegExpObject 是否是全局模式,exec() 都会把完整的细节添加到它返回的数组中。这就是 exec() 与 String.match() 的不同之处,后者在全局模式下返回的信息要少得多。因此我们可以这么说,在循环中反复地调用 exec() 方法是唯一一种获得全局模式的完整模式匹配信息的方法。
注:如果在一个字符串中完成了一次模式匹配之后要开始检索新的字符串,就必须手动地把 lastIndex 属性重置为 0。
实例:
<script type="text/javascript">
var str = "Visit W3School, W3School is a place to study web technology.";
var patt = new RegExp("W3School","g");
var result;
while ((result = patt.exec(str)) != null) {
document.write(result);
document.write("<br />");
document.write(patt.lastIndex);
document.write("<br />");
}
</script>
输出结果:
W3School
14
W3School
24
这里共调用了3次exec方法。
<script language="javascript">
<!--
var mystring="aaa 111 bbb 222 ccc 111 222ddd";
var regex=/111/g;
var array=regex.exec(mystring);
if(array)
{
var str="找到了匹配字串"+"\n返回数组的值为:"+array+"\n数组元素个数:"+array.length+"\n被搜索的字符串为:"+array.input+"\n匹配字串的开始位置为:"+array.index+"\n匹配字串后面的第一个字符的位置为:"+regex.lastIndex;
alert(str);
}
//-->`
</script>
而这里因为没有循环控制语句,所以只调用了一次,返回结果也就为:
找到了匹配字串
返回数组的值为:111
数组元素个数:1
被搜索的字符串为:aaa 111 bbb 222 ccc 111 222ddd
匹配字串的开始位置为:4
匹配字串后面的第一个字符的位置为:7
发表评论
-
jquery easyui DataGrid
2015-04-11 17:15 1083Easyui Demo网站: http://www.je ... -
js获取带checkbox行的记录的Id值的两个方法
2015-04-09 14:44 676第一种: function updateProcess() ... -
文本域字符限制。
2014-10-24 13:11 527页面中:<textarea id="set& ... -
JQuery 样式设置、追加、移除与切换
2014-01-21 13:41 877获取与设置样式 获取class和设置class都可以使用a ... -
jQuery 判断页面元素是否被选中的几种方法
2014-01-21 11:03 1396jQuery 判断 checkbox 是否被选中的几种方法: ... -
jquery和js初始化加载的多种方法
2014-01-20 14:48 904jquery和js初始化加载页面的区别: jquery:等 ... -
js自动刷新当前页面
2013-12-19 14:09 793reload 方法,该方法强 ... -
页面中各种加载select的所有值
2012-08-24 18:15 9981.在页面中加载select的所有值。 1、比如,把一个ma ... -
javascript评估用户输入密码的强度
2012-08-22 15:00 895密码已经是我们生活工作中必不可少的工具,但一个不安全的密码有又 ... -
需要掌握的八个CSS布局技巧
2011-01-06 17:05 8441.若有疑问立即检测 在 ... -
ExtJs是通过Ext.ToolTip和Ext.QuickTips两个组件来实现浮动提示功能的
2010-09-27 13:59 1808Ext.QuickTips QuickTips代码示例:只需 ... -
Extjs 数据读取对象ArrayReader/JsonReader/XmlReader
2010-09-18 11:12 12101.<!DOCTYPE html PUBLIC &quo ... -
不错的JS中Cookie的文章
2010-09-10 23:17 832Cookies,有些人喜欢它们 ... -
js中cookie的使用
2010-09-10 23:14 1050cookie概述 在上一节,曾经利用一个不变的框架来存储购物栏 ... -
Javascript实例教程(9) 随机显示图片
2010-07-21 16:07 975有时你可以会在一些网站看到一些变化显示的图片,这除了可以利用F ... -
Javascript获取地址参数
2010-07-21 16:06 973修改地址后的参数: <script> funct ... -
JavaScript仿Windows关机效果
2010-07-21 16:04 953Windows关机效果分析 使用Windows系统的用户在关机 ... -
JavaScript方法和技巧大全
2010-07-21 16:04 955JavaScript方法和技巧大全:基础知识 1 创建脚本 ... -
javascript弹出窗口问题总结
2010-07-21 16:02 7881.无提示刷新网页 大家有没有发现,有些网页,刷新的时 ... -
javascript操作cookie
2010-07-21 16:02 751使得在访问页面的时候能够沿用上次的设置,或者在不同的页面间共享 ...
相关推荐
本文将详细介绍 exec 函数的用法、定义和使用方法。 一、exec 函数的定义 exec 函数是 JavaScript 中的一种方法,用于在字符串中执行查找。它的基本语法为:rgExp.exec(str),其中 rgExp 是一个正则表达式对象,...
深化剖析javascript中的exec与match方法_.docx
本文实例讲述了JavaScript中exec函数用法。分享给大家供大家参考。具体如下: javaScript 中的 exec 函数,用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组。 rgExp.exec(str) 参数: ...
本文将详细讲解JavaScript中正则表达式exec方法的使用方法和相关知识点。 首先,需要了解exec方法的基本作用:exec方法属于正则表达式的实例方法,其主要作用是对字符串进行搜索,寻找与正则表达式相匹配的文本。当...
ssh-exec, 使用 node.js 在ssh上执行脚本 ssh在ssh上执行脚本,使用 node.js 和管道,并从可以通过npm提供。npm install ssh-exec它是用普通的Javascript编写的,使用了 ssh2作为所有重。用法var ex
exec方法的特点是它可以重复使用同一个正则表达式对象去匹配一个字符串中的多次出现的模式。它会返回一个数组,如果匹配成功,数组的第一个元素是匹配到的字符串,如果正则表达式有分组,则后续元素会依次是每个分组...
这就是`exec`函数的作用,它允许我们在JavaScript中安全地调用具有`exec`功能的子进程。`exec`是Node.js中的一个核心模块`child_process`的一部分,用于执行命令行命令并获取其输出。 `child_process.exec`方法接收...
JavaScript应用实例-exec的实践.js
`Runtime.getRuntime().exec(command)` 是最基础的方法,用于执行指定的系统命令。`command`参数是一个字符串,表示要执行的命令。例如,如果你想要运行`dir`命令,可以这样写: ```java String command = "cmd /...
#### 三、BSF的基本使用方法 使用BSF涉及到几个关键步骤: 1. **导入必要的类库**:在使用BSF之前,需要先导入一些基本的类库,包括`org.apache.soap.util.ioutils`(用于处理JavaScript字符串),`org.apache.bsf...
标题和描述中提到了JavaScript正则表达式中exec方法和全局修饰符g的用法,并通过实例演示了如何使用它们来实现对字符串的多次循环匹配。在JavaScript中,正则表达式用于进行模式匹配和文本处理,而exec方法和全局...
在使用JavaScript进行正则表达式匹配时,`exec` 函数是一个非常重要的工具,它提供了强大的文本匹配能力。正则表达式对象配合`exec` 方法在全局搜索(global search)模式下,即使用了`g`修饰符时,表现出来的行为与...
本指南将详细介绍如何在JavaScript中使用正则表达式,包括创建正则表达式的方法、常用的正则表达式方法以及一些实用的示例。 #### 二、创建正则表达式 在JavaScript中,可以通过两种方式创建正则表达式: 1. **使用...
在 JavaScript 中,实现字符串长度截取可以使用以下代码: ```javascript function cutstr(str, len) { var temp; var icount = 0; var patrn = /[^\x00-\xff]/; var strre = ""; for (var i = 0; i ; i++) { ...
4. **错误处理**:`native-exec`提供了一种直接处理错误的方法,可以捕获并处理来自系统调用的错误代码,这对于调试和异常处理非常有用。 5. **跨平台兼容性**:虽然POSIX接口主要针对Unix-like系统,如Linux和...
2. **对象创建与原型Prototype**: JavaScript使用`new`关键字创建对象实例,原型链允许对象间共享属性和方法,`__proto__`或`prototype`属性是理解这一机制的关键。 3. **函数对象Function**: 在JavaScript中,函数...
本文将详细探讨PCRE库中的核心函数`pcre_exec`,以及在JavaScript的正则执行上下文中的具体应用——`jsRegExpExecute`源码。 PCRE库是Perl语言风格的正则表达式实现,它提供了高效且功能丰富的API供开发者使用。`...