- 浏览: 238190 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
di1984HIT:
写的不错。
使用JDBC进行批处理 -
huyuran:
...
使用JDBC进行批处理 -
chenbo0928:
[url][/url][img][/img][*]引用 ...
Removing a detached instance -
mousepc:
gklovejava 写道Utility method to ...
eclipse中的get/set功能的一个bug -
gklovejava:
Utility method to take a string ...
eclipse中的get/set功能的一个bug
以下部分内容来自http://www.w3school.com.cn/js/js_obj_regexp.asp
什么是 RegExp?
RegExp 是正则表达式的缩写。
当您检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp 就是这种模式。
简单的模式可以是一个单独的字符。
更复杂的模式包括了更多的字符,并可用于解析、格式检查、替换等等。
您可以规定字符串中的检索位置,以及要检索的字符类型,等等。
定义 RegExp
RegExp 对象用于存储检索模式。
通过 new 关键词来定义 RegExp 对象。以下代码定义了名为 patt1 的 RegExp 对象,其模式是 "e":
var patt1=new RegExp("e");
当您使用该 RegExp 对象在一个字符串中检索时,将寻找的是字符 "e"。
RegExp 对象的方法
RegExp 对象有 3 个方法:test()、exec() 以及 compile()。
test()
test() 方法检索字符串中的指定值。返回值是 true 或 false。
例子:
var patt1=new RegExp("e"); document.write(patt1.test("The best things in life are free"));
由于该字符串中存在字母 "e",以上代码的输出将是:
true
exec()
exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。
例子 1:
var patt1=new RegExp("e"); document.write(patt1.exec("The best things in life are free"));
由于该字符串中存在字母 "e",以上代码的输出将是:
e
例子 2:
您可以向 RegExp 对象添加第二个参数,以设定检索。例如,如果需要找到所有某个字符的所有存在,则可以使用 "g" 参数 ("global")。
如需关于如何修改搜索模式的完整信息,请访问 RegExp 对象参考手册。
在使用 "g" 参数时,exec() 的工作原理如下:
- 找到第一个 "e",并存储其位置
- 如果再次运行 exec(),则从存储的位置开始检索,并找到下一个 "e",并存储其位置
var patt1=new RegExp("e","g"); do { result=patt1.exec("The best things in life are free"); document.write(result); } while (result!=null)
由于这个字符串中 6 个 "e" 字母,代码的输出将是:
eeeeeenull
compile()
compile() 方法用于改变 RegExp。
compile() 既可以改变检索模式,也可以添加或删除第二个参数。
例子:
var patt1=new RegExp("e"); document.write(patt1.test("The best things in life are free")); patt1.compile("d"); document.write(patt1.test("The best things in life are free"));
由于字符串中存在 "e",而没有 "d",以上代码的输出是:
truefalse
我们最常用到的是test()方法,所以exec(),compile()不多说,因为只要正则的原理掌握了,学习另外两种方法是一样的。
创建正则表达式有两种方式:
1. var reg = /aaa/; 2. var reg = new RegExp('aaa');
RegExp 对象
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
直接量语法
/pattern/attributes
创建 RegExp 对象的语法:
new RegExp(pattern, attributes);
参数
参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。
参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。
返回值
一个新的 RegExp 对象,具有指定的模式和标志。如果参数 pattern 是正则表达式而不是字符串,那么 RegExp() 构造函数将用与指定的 RegExp 相同的模式和标志创建一个新的 RegExp 对象。
如果不用 new 运算符,而将 RegExp() 作为函数调用,那么它的行为与用 new 运算符调用时一样,只是当pattern 是正则表达式时,它只返回 pattern,而不再创建一个新的 RegExp 对象。
抛出
SyntaxError - 如果 pattern 不是合法的正则表达式,或 attributes 含有 "g"、"i" 和 "m" 之外的字符,抛出该异常。
TypeError - 如果 pattern 是 RegExp 对象,但没有省略 attributes 参数,抛出该异常。
修饰符
i | 执行对大小写不敏感的匹配。 |
g | 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 |
m | 执行多行匹配。 |
修饰符i例子:
var reg=new RegExp("HelloWorld","i");
var reg1=/regexp/i;//第二种写法。
alert(reg.test("helloworld"));//结果为true,说明现在不区分大小写,如果把,"i"去掉,结果就为false,区分大小写。
修饰符g例子:
var reg=new RegExp("is","g");
var reg2=/is/g;//第二种定义方法;
var str="Is this an egg,Yes,it is.";
alert(reg.test(str));
document.write(str.match(reg));
//修饰符可以一起用,比如 new RegExp("is","gi"); var reg2=/is/gi;
修饰符m的例子:
行首行尾,修饰符m
形式:/pattern/m
m修饰符的作用是修改^和$在正则表达式中的作用,让它们分别表示行首和行尾。例如:
var reg = /^b/; var str = 'test\nbbs'; execReg(reg,str);
匹配失败,因为字符串的开头没有b字符。但是加上m修饰符之后:
var reg = /^b/m; var str = 'test\nbbs'; execReg(reg,str);
匹配到b,因为加了m修饰符之后,^已经表示行首,由于bbs在字符串第二行的行首,所以可以成功地匹配。
发表评论
-
Javascript编程风格
2012-07-28 22:43 704http://www.ruanyifeng.com/blog/ ... -
display:none与visible:hidden的区别
2012-02-27 12:08 1227http://www.cnblogs.com/nicholas ... -
javascript字符串操作
2012-02-09 18:37 873转自:沉积如水 使用 substring()或者sli ... -
用JavaScript隐藏控件的方法
2012-01-05 11:55 558转 http://blog.csdn.net/proglove ... -
令人厌烦的单引号和双引号
2011-11-14 12:14 604有时候我们需要在javascript中添加很多单引号 ... -
常用javascript函数,总结中
2011-11-09 11:01 590//去回车符 function rep ... -
select和option操作
2011-10-28 17:57 839http://www.jb51.net/article/162 ... -
stream.js
2011-10-25 23:57 577http://www.aqee.net/docs/st ... -
css笔记
2011-10-01 15:00 916样式表定义及引用 1 ... -
JavaScript Minifier failed for
2011-09-23 19:32 1511JavaScript Minifier failed f ... -
给struts 的标签s:url加参数
2011-09-05 09:34 832有时候我们需要通过javascript来执行一些action。 ... -
为eclipse安装aptana 插件
2011-09-04 00:01 5011在网上找的links方式安装不成功,试了几次。没办法。只有在线 ... -
checkbox为null
2011-08-31 22:23 1168今天遇到一个小问题,新增操作时,checkbox提交到stru ... -
javascript DOM(五)----插入、删除节点
2011-08-28 17:01 4234插入节点: 1). insertBefore(): ... -
javascript DOM(四)----节点替换
2011-08-28 00:00 1053节点的替换: 1). replaceChild(): ... -
javascript DOM(三)
2011-08-27 23:19 860三个练习: 1. <html> ... -
javascript DOM(二)
2011-08-27 22:52 6618. 创建一个元素节点: 1). createEle ... -
javascript DOM(一)
2011-08-27 21:10 1070DOM:Document Object Model(文本对象模 ... -
javascript 表单重置的问题 reset
2011-08-22 11:30 3134今天做了一个reset按钮。但是还是有一个问题没有解 ... -
Javascript继承机制的设计思想
2011-06-07 08:33 663原文地址: http://www.ruanyifeng. ...
相关推荐
今天遇见一个消除js正则表达式不区分大小写的问题,网上一搜,发现自己果然是菜鸟。 在js里面//g,其中g表示全局匹配,如果没有这个,那么就意味着只能匹配一次就会自动结束;/i/就表示在匹配的过程中不区分大小写。...
电子邮件正则表达式安全 电子邮件地址的正则表达式匹配。 维护,可配置,更准确且对浏览器友好的替代。 在Node v10.12.0 +和浏览器中工作。 专为和目录浏览器选项如何验证电子邮件地址局限性贡献者执照 前言以前,我...
正则表达式 关于 是用于学习,构建和测试正则表达式的在线工具。 它是由和的好人创建的。 特征 您输入时,结果会实时更新。 支持JavaScript和PHP / PCRE RegEx。 将鼠标悬停在比赛或表达式上以获取详细信息。 ...
第3部分深入探索JavaScript,介绍了语法、值、运算符、布尔类型、数字、字符串、语句、异常捕获、函数、变量、对象与继承、数组、正则表达式、Date、Math、JSON、标准全局变量、编码和JavaScript、ECMAScript 5的新...
全书从高级Web应用程序开发者所面临的挑战谈起,由浅入深地覆盖了测试和测试工具、函数、闭包、对象、正则表达式、定时器、运行时代码求值、with语句、跨浏览器问题、元素的特性和属性、事件处理、DOM以及CSS选择器...
全书从高级Web应用程序开发者所面临的挑战谈起,由浅入深地覆盖了测试和测试工具、函数、闭包、对象、正则表达式、定时器、运行时代码求值、with语句、跨浏览器问题、元素的特性和属性、事件处理、DOM以及CSS选择器...
全书从高级Web应用程序开发者所面临的挑战谈起,由浅入深地覆盖了测试和测试工具、函数、闭包、对象、正则表达式、定时器、运行时代码求值、with语句、跨浏览器问题、元素的特性和属性、事件处理、DOM以及CSS选择器...
警告:扩展使用正则表达式来查找属性。 如果您的对象模型很大并且表达式太宽泛(例如. - 匹配任何内容),您可以挂起浏览器。 安装 转到进行安装。 安装后,请确保重新打开您的开发工具。 现在您可以在“元素”...
一个基于Web的知识管理系统,用于...目标用户游戏开发人员研究人员学生功能探索游戏及其相关技术及其关系按时间顺序排列的视图模式与URL共享视图,使用正则表达式搜索节点,无服务器,易于贡献和合并Dependinces https
例如,JavaScript文件夹具有一个有用的批量正则表达式Node.js应用程序,该应用程序将所有文件放在一个文件夹中,并将转换后的一批文件输出到新文件夹中。 在Alfred文件夹中,有一个正在进行的Alfred工作流程,可...
优先行动项目为网站上的意见文章确定更多正则表达式。 启用颜色选择器。 探索改变文本颜色而不是背景颜色创建全局和每用户许可名单以确保网站(例如 )不会被标记 :grinning_face_with_sweat:非优先行动项目将 regex...
:sparkles: 使用正则表达式搜索指标 :sparkles: 为常用查询定义自定义快捷方式 variables : cluster : eu shortcuts : # cpu usage of pods of $service running in $cluster - regexp : " cpu of (.*) " query ...
探索如何使用“字符串”和“正则表达式”包进行搜索 设置Go开发环境 从HTML文档中检索信息 使用代理保护您的网页抓取工具不受阻止 控制网络浏览器以抓取JavaScript网站 如果您觉得这本书适合您,请立即获取! 说明和...
例如,我建议使用JavaScript的 API(它包含字符串,正则表达式以及替换字符串或替换函数),这很整洁。 我不必记住,在Haxe的本机API中,这些功能分布在StringTools.replace , EReg.replace和EReg.map 。 但是要...
目标用户游戏开发商研究人员学生特征探索游戏和相关技术及其关系按时间顺序查看模式与URL共享视图具有正则表达式的搜索节点无服务器,易于贡献和合并依赖 HTML / JavaScript / CSS / SVG / JSON架构图该数据库包含一...
正则表达式拼图: LeetCode 收藏夹列表 容易(12): 中(12): 硬(12): 12 in easy(12)表示列表中的前 12 个问题在前 200 个经常使用的 leetcode 问题中。 LeetCode 小贴士 不要取消注释一些已经在某处定义的...
(2)符号含义:根据最重要的属性将信号转换为符号表示,并简化搜索过程,以及(3)搜索:解析内涵字符串的字符串模式,在这种情况下为正则表达式。 我们通过在几个时间序列上解决典型的查询和模式搜索任务来证明该...