元字符:^ $ \ . * + ? ( ) [ ] { } |
^ 匹配字符串的开头
$ 匹配字符串的结尾
\ 转义字符,用于元字符
* 0或多个前面的字符
+ 至少一个前面的字符
? 0或1个前面的字符
. 任意单个字符 except newline
[] 某个范围的单个字符
() 集合
| 或运算,匹配左或右
元序列:
{n} 恰好匹配n个前面的
{n,} 匹配至少n个前面的
{n,m} 匹配至少n个,至多m个前面的
\b 匹配只能放在前面或结尾
\B 与\b相反
\d 数字
\D 数字以外的
\w 单词字符(A-Z、a-z、0-9 或 _)
\W 除单词字符以外的任何字符
\unnnn 字符代码由十六进制数字 nnnn 指定的 Unicode 字符(\u263a ☺)
\xnn 具有指定 ASCII 值(由十六进制数字 nn 定义)的字符。
\s 任意空白字符(空格、制表符、换行符或回车符)
\S 除空白字符以外的任何字符
\n 换行符
\r 回车符
DOS中专用的
\v 垂直换页符DOS
\t 制表符DOS
\f 换页符DOS
标志:
g 如果不指定g,那么在查找的时候只会返回一个。
I 默认情况下,匹配区分大小写。如果设置 i (ignoreCase) 标志,将忽略区分大小写
m 匹配”行”的开头和结尾.注意这里的行只有\n字符表示行的结束,其余不行,包括\r
s 用点来匹配换行符
x 在正则表达式中使用 x (extended) 标志时,则会忽略在模式中键入的所有空格
附加:
[abc] character a,b or c
[^abc] Any character except a,b or c
[a-z] a through z
[]中‘空格’和\s都可以表示空格符
但[]外只能用\s表示空格符
AS3中声明正则表达式的两种方式
var reg:RegExp = new RegExp(“test-\\d”, “g”);
var reg:RegExp = /test-\d/g;
使用
var str:String = ‘<span>test string</span>’;
str.replace(reg,’-');
str.match(reg);
量词类型
贪婪量词:
先看整个字符串是不是一个匹配。如果没有发现匹配,它去掉最后字符串中的最后一个字符,并再次尝试。如果还是没有发现匹配,那么 再次去掉最后一个字符串,这个过程会一直重复直到发现一个匹配或者字符串不剩任何字符。简单量词都是贪婪量词。
惰性量词:
先看字符串中的第一个字母是不是一个匹配,如果单独着一个字符还不够,就读入下一个字符,组成两个字符的字符串。如果还没有发现匹配,惰性量词继续从字符串中添加字符直到发现一个匹配或者整个字符串都检查过也没有匹配。惰性量词和贪婪量词的工作方式恰好相反。
支配量词:
只尝试匹配整个字符串。如果整个字符串不能产生匹配,不做进一步尝试。
贪婪量词 惰性量词 支配量词 描述
————————————————————————————-
? ?? ?+ 可以出现0次或1次,但至多出现1次
* *? *+ 可以出现任意次,也可以不出现
+ +? ++ 出现1次或多次,但至少出现1次
{n} {n}? {n}+ 一定出现n次
{n,m} {n,m}? {n,m}+ 至少出现n次,但至多不能超过m次
{n,} {n,}? {n,}+ 可以出现任意次,但至少出现n次
例子:
<bord>test</bord>
使用 /<.*?>/g 结果: -test-
使用 /<.*>/g 结果: -
From - http://blog.ityao.com/archives/590
分享到:
相关推荐
Oracle数据库中正则表达式的实现遵循POSIX标准(由电气和电子工程师协会(IEEE)颁布)的ASCII数据匹配语义和语法。但Oracle也扩展了这些标准,增加了更多的多语言支持,使得在处理非英语语言时更加灵活。具体特点如下...
本文详细介绍了VBA中正则表达式的基础知识,包括如何创建正则表达式对象、设置关键属性以及使用常用方法。通过具体的示例代码,展示了如何实现字符串的匹配、替换等功能,并对常用的特殊字符进行了说明。这些基础...
AS3与JavaScript中的正则表达式反向引用是一个重要的概念,它允许你对前面定义的分组内容进行引用。在正则表达式中,使用括号“()”可以对子表达式进行分组,并为每个子表达式分配一个编号。反向引用则使用“\数字”...
本书旨在为读者提供一个全面学习VBA中正则表达式应用的平台。通过详细的理论介绍与实践案例分析,帮助初学者快速掌握正则表达式的使用方法,并进一步提升至高级应用水平。 #### 第一篇 基础篇 ##### 一、正则...
本文将深入探讨QTP中正则表达式的各种元素及其用法,并通过实例演示如何在QTP中应用这些规则。 #### 二、基本符号及其含义 1. **\(反斜杠)**: - 作用:将下一个字符标记为特殊字符或字面值。 - 示例: - `"n...
以上列出的正则表达式仅是PHP中正则表达式应用的冰山一角,实际上,正则表达式还能够处理更复杂的字符串模式匹配和数据验证,包括但不限于电子邮件验证、电话号码格式验证、日志文件分析等。掌握并灵活运用正则...