`
zhoushunlong
  • 浏览: 51996 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

正则表达式

 
阅读更多


2010年6月2日

正则表达式就是一个匹配模式。
SQL注入:利用SQL的一些语法规则来达到修改数据库的目的。
正则表达式:是通过ECMAscript的RegExp来实现的。
var re = new RegExp(匹配模式,命令);
或者:var re = /匹配模式/命令;
这里的命令是正则表达式匹配的额外指令。
常用的命令:
g:代表全局匹配,也就是global
i:不区分大小写,也就是ignore
multiformity:多行匹配的命令
实例:var str = "a bat cat"; var reg=/at/gi; str.replace(reg,'tt');

正则表达式的两个方法:exec(字符串):返回的只有一个元素的数组。test:判断是否包含匹配模式。
String里支持正则表达式的方法:
match(正则表达式);返回多个元素的数组。如果匹配不成功就返回一个null。
search(正则表达式);查找一个字符串,返回一个数字。如果不加g命令,找到了要找的字符串,就不往下找下了。
replace(正则表达式,要替换的字符串);
split();

匹配模式的两种模式:
简单模式:一个正则表达式有很多组成组分,这些组成模式有匹配模式和命令模式。由指定字符,元字符,字符类和量值等等组成的简单模式。
元字符:在正则表达式所占用的字符。如:(,[,{,\,^,$,?,+,*,.,},],)
预定义字符串:如:\t , \r ,\f ,\n ,\a ,\e ,\b ,\v等
\t: 空格
\n: 换行
\r: 晓不得
预定义类:如:.代表[^\n\r],\d代表[0-9],\D代表[^0-9],\w代表[a-z 0-9 A-Z],\W代表[^a-z 0-9 A-Z_]

选择类:是用在分组里面的。是用 | 来区别的。
244427626 1258931349 133349133
字符类:包含在中括号里的字符,告诉正则表达式匹配其中一个字符串。字符串包含中括号中字符[abcd]
反字符类:如不包含a到z的字符串:字符串不包含中括号中字符[^abcd]
范围字符类:如包含a到z的字符串:[a-z],如不包含a到z的字符串:[^a-z],
表示a到z和0到9[a-z0-9],表示a到z或0到9[a-z 0-9]

量值:如? 代表0次或一次。* 代表0次或多次。+ 代表1次或多次。
{n} 代表指定要出现n次。{n,}代表出现n次以上。{n,m}代表出现n次到m次。
硬性量值:指定了数目的多少
软性量值:没有指定数目的多少
按懒惰情况来分:
贪婪的:它一直往下匹配,它首先读第一个字符进行匹配,如果匹配不成功,则读下一个字符,并把前面不匹配的字符删除掉。如果匹配,则把相匹配的字符串截取出来放进数组中。如果字符串长度不为0,则继续往下读取。我们到目前为止用的都是贪婪的。

惰性的:首先看字符串中的第一个字符是否匹配。如果这个字符不匹配的话,那么继续读取下一个字符,组成两个字符,一直这样下去。如果匹配成功的话,那么就把相匹配的字符串截取出来放进数组中,再从新开始读取。
只以出现最少次数匹配。

区分贪婪的和惰性的就是看量值后面是否加了一个?,如果没有加就是贪婪的,如果加了就是惰性的。

复杂模式:
它就是由分组,反向引用,前瞻和其他的一些正则表达式功能组成。
分组:是通过一对小括号包含一系列字符组成。如:var ref = /(dog)*/gi; 一般是用在当要查找一个字符串出现多少次数。

边界:^代表字符串的头边界,$代表字符串的尾边界。如:var ref =/^\w*$/g;

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    常用java正则表达式

    如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一...

    正则表达式验证工具,正则表达式校验工具

    正则表达式验证工具 V1.0 本软件主要用于检测正则表达式是否正确。 运行环境:本软件为绿色软件,无需安装,但需要Microsoft .NET Framework 4 支持,如果没有请前去下载(下载路径:...

    学习正则表达式-Michael+Fitzgerald.pdf

    《学习正则表达式》从正则表达式的基本概念讲起,到编写完整的sed和Perl脚本,再到转换HTML文件,将这种强大的工具解释得清晰透彻。...《学习正则表达式》适合对正则表达式感兴趣的程序员和互联网从业者。

    《学习正则表达式》高清扫描版 PDF

    正物色一本学习正则表达式的入门图书?恭喜,《学习正则表达式》非常适合你!本书提供大量经典简洁的示例,从零开始教你逐步掌握正则表达式。通过匹配特定单词、字符和模式,读者很快就可以自己动手使用正则表达式...

    正则表达式验证正则表达式验证

    正则表达式正则表达式正则表达式正则表达式 验证程序

    正则表达式经典实例

    《正则表达式经典实例》讲解了基于8种常用的编程语言使用正则表达式的经典实例。书中提供了上百种可以在实战中使用的实例,以帮助读者使用正则表达式来处理数据和文本。对于如何使用正则表达式来解决性能不佳、误报...

    wps表格excel正则工具,excel正则表达式替换/匹配/查找/搜索/提取数字

    让 Office Excel、WPS 表格支持正则表达式的免费插件:「Excel 正则工具」顾名思义,需要使用 “正则表达式(PCRE)” 的知识来进行操作,对于完全没有接触过正则的朋友也许有一定的入门门槛,但正则实在是太过强大...

    csharp正则表达式参考手册

    正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。 许多程序设计语言都支持利用...

    正则表达式整理汇总(参考学习)

    正则表达式整理汇总,含以下内容 [1]里面在包括一个正则表达式测试小程序 RegexTester.exe [2]正则表达式30分钟入门教程.pdf] [3]正则表达式规则.doc [4]正则表达式30分钟入门教程.mht 自己整理用的,现在...

    常用正则表达式 正则表达式

    常用正则表达式 正则表达式 常用正则表达式 正则表达式

    正则表达式大全 - 收集的最常用正则表达式

    常用正则表达式大全: 匹配中文字符的正则表达式 匹配空白行的正则表达式 匹配HTML标记的正则表达式 匹配Email地址的正则表达式 匹配网址URL的正则表达式 匹配国内电话号 匹配中国邮政编码 匹配身份证 匹配ip地址 ...

    java正则表达式.zip

    java,正则表达式,详解,java正则表达式,PDF

    ASP.NET 中的正则表达式

    Microsoft®.NET Framework 对正则表达式的支持是一流的,甚至在 Microsoft® ASP.NET 中也有依赖正则表达式语言的控件。本文介绍了深入学习正则表达式的基础知识和推荐内容。 本文主要面向对正则表达式知之甚少或...

    Java正则表达式 Java 正则表达式

    Java正则表达式Java正则表达式Java正则表达式Java正则表达式

    正则表达式(日期校验)

    正则表达式日期校验 正则表达式日期校验 正则表达式日期校验

    C语言正则表达式库

    C语言正则表达式库,兼容perl的正则表达式库,使用简介、方便

    正则表达式教程和配套测试工具regextester

    非常棒的正则表达式速成教程,号称30分钟叫你学会正则表达式常用用法。我本人学了一下,感觉不赖,不过俺比较笨,30分钟的东西学了3个多小时,已经从什么都不会变成会编各种复杂的正则筛选条件了^^!这个教程是配合...

    UE正则表达式、UE正则表达式

    UE正则表达式、UE正则表达式

    日期正则表达式(很实用)

    日期正则表达式(很实用) 日期正则表达式(很实用)日期正则表达式(很实用)日期正则表达式(很实用)

    正则表达式汇总-Labview

    正则表达式汇总

Global site tag (gtag.js) - Google Analytics