- 浏览: 243424 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
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 767http://www.ruanyifeng.com/blog/ ... -
display:none与visible:hidden的区别
2012-02-27 12:08 1275http://www.cnblogs.com/nicholas ... -
javascript字符串操作
2012-02-09 18:37 921转自:沉积如水 使用 substring()或者sli ... -
用JavaScript隐藏控件的方法
2012-01-05 11:55 598转 http://blog.csdn.net/proglove ... -
令人厌烦的单引号和双引号
2011-11-14 12:14 651有时候我们需要在javascript中添加很多单引号 ... -
常用javascript函数,总结中
2011-11-09 11:01 620//去回车符 function rep ... -
select和option操作
2011-10-28 17:57 904http://www.jb51.net/article/162 ... -
stream.js
2011-10-25 23:57 632http://www.aqee.net/docs/st ... -
css笔记
2011-10-01 15:00 943样式表定义及引用 1 ... -
JavaScript Minifier failed for
2011-09-23 19:32 1562JavaScript Minifier failed f ... -
给struts 的标签s:url加参数
2011-09-05 09:34 883有时候我们需要通过javascript来执行一些action。 ... -
为eclipse安装aptana 插件
2011-09-04 00:01 5053在网上找的links方式安装不成功,试了几次。没办法。只有在线 ... -
checkbox为null
2011-08-31 22:23 1206今天遇到一个小问题,新增操作时,checkbox提交到stru ... -
javascript DOM(五)----插入、删除节点
2011-08-28 17:01 4273插入节点: 1). insertBefore(): ... -
javascript DOM(四)----节点替换
2011-08-28 00:00 1097节点的替换: 1). replaceChild(): ... -
javascript DOM(三)
2011-08-27 23:19 891三个练习: 1. <html> ... -
javascript DOM(二)
2011-08-27 22:52 7038. 创建一个元素节点: 1). createEle ... -
javascript DOM(一)
2011-08-27 21:10 1122DOM:Document Object Model(文本对象模 ... -
javascript 表单重置的问题 reset
2011-08-22 11:30 3178今天做了一个reset按钮。但是还是有一个问题没有解 ... -
Javascript继承机制的设计思想
2011-06-07 08:33 695原文地址: http://www.ruanyifeng. ...
相关推荐
在JavaScript的世界里,正则表达式(Regular Expression)是一种强大的文本处理工具,它能用于搜索、替换、验证字符串等操作。对于任何JavaScript开发者来说,掌握正则表达式都是至关重要的,因为它们在处理数据格式...
JavaScript正则表达式是编程语言JavaScript中的一个强大工具,用于处理文本字符串,执行模式匹配和数据验证。在JavaScript中,正则表达式是通过构造函数`RegExp`或使用特殊的正则字面量语法(用斜杠`/`包围)创建的...
2. JavaScript:JavaScript的全局对象`RegExp`提供了正则表达式功能,`test()`、`exec()`、`match()`、`replace()`等方法广泛应用于前端开发。 3. Java:Java中的`java.util.regex`包提供正则表达式支持,`Pattern`...
JavaScript正则表达式是编程语言JavaScript中的一个重要组成部分,它用于处理文本字符串,执行模式匹配和查找、替换等操作。在JavaScript中,正则表达式是一种强大的工具,可以帮助开发者进行复杂的数据验证、文本...
- 在JavaScript中,通过 `new RegExp()` 构造函数或直接在字符串前加 `//` 创建正则表达式。 - Python中的 `re` 模块提供了丰富的正则表达式操作函数,如 `re.search()`,`re.findall()` 等。 - Java中的 `...
正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索和...只需运行压缩包内的"RegexTester.exe"文件,即可启动这款强大的工具,开始你的正则表达式探索之旅。
- **JavaScript**:JavaScript 也内置了正则表达式的支持。 - **grep/egrep**:Unix/Linux 下的命令行工具,用于在文件中搜索匹配正则表达式的行。 #### 五、正则表达式的高级主题 对于更深入的学习者来说,还可以...
正则表达式是一种强大的文本处理工具,用于在字符串中匹配、查找、替换或提取特定模式。它是编程语言中不可或缺的一...所以,不妨现在就开始,打开那本名为"正则表达式"的CHM电子书,踏上探索正则表达式世界的旅程吧。
正则表达式在各种编程语言中都有支持,如Python、JavaScript、Java等,都提供了正则表达式的API接口,允许开发者构建复杂的文本匹配逻辑。 对于初学者来说,通过实际的例子来学习正则表达式是一种很好的方法。开始...
5. **代码生成**:支持将构建好的正则表达式导出为多种编程语言的代码片段,如Python、Java、JavaScript等,方便集成到实际项目中。 6. **搜索与替换**:在大量文本中查找匹配的模式,并可进行批量替换操作,大大...
10. **JavaScript中的正则**:在《JS正则表达式 .txt》中,讲解了JavaScript语言中如何使用正则表达式,包括`test()`、`match()`、`replace()`等方法。 11. **深入理解正则表达式**:《深入浅出之正则表达式.txt》...
正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索和替换等场景。在这个“正则表达式实用...这份“正则表达式实用手册”将是你探索这一领域的宝贵资源。
总之,"正则表达式入门经典"是初学者入门正则表达式的好教材,它将引导你探索这个强大工具的世界,为你的编程生涯添加一项不可或缺的技能。通过深入学习并实践书中的内容,你将在处理文本数据时变得更加高效和精准。
"正则表达式.chm"可能详细讲解了正则表达式的语法、特殊字符、元字符、量词、分组、零宽断言等核心概念,以及如何在JavaScript中使用正则表达式进行匹配和替换操作。 这些CHM文件是学习Web开发的宝贵资源,通过它们...
- 不同编程语言可能使用不同的正则表达式引擎,如Perl兼容(PCRE)和JavaScript的引擎有差异。 8. **实际应用** - 在编程中,正则表达式常用于数据验证,如邮箱、电话号码格式检查。 - 在文本编辑器中,使用正则...
正则表达式(Regular Expression,简称RegEx)是编程领域中一种强大的文本处理工具,用于匹配、查找、替换和提取字符串中的模式。...无论是新手还是经验丰富的开发者,都应该不断探索和完善自己的正则表达式技能。
正则表达式的应用非常广泛,例如在JavaScript、Python、Java等编程语言中,它们被用来进行输入验证(如邮箱格式检查)、数据提取(如从HTML中抓取信息)以及文本替换(如批量修改文件内容)。熟练掌握正则表达式能够...
在编程语言中,正则表达式通常通过内建函数或第三方库来支持,如Python的`re`模块或JavaScript的`match()`、`test()`等方法。 在描述中提到的`easy_validate`是一个兼容性良好的表单验证库,它允许开发者使用正则...
### 正则表达式入门与基础详解 #### 一、正则表达式的概念与作用 正则表达式(Regular ...通过以上基础知识的学习,读者可以逐渐掌握正则表达式的使用方法,进一步深入探索更复杂的正则表达式功能和应用场景。