正则的作用
测试字符串的模式(验证电话号码,邮箱)
替换文本
提取字符串
语法标记
*匹配零个或多个字符(前面的那一个字符出现零次或多次)
?匹配零个或一个字符(前面的那一个字符出现零次或一次)
^匹配字符串的开始位置(在方括号内使用,表示非)
$匹配字符串的结束位置
+匹配一个或多个字符(前面的那一个字符出现零次或多次)
.匹配除换行符\n之外的任何单字符
()子表达式的开始和结束
[]中括号表达式的开始和结束
[abc]匹配包含的任意一个
[^abc]匹配未包含的任意字符
[a-z]匹配a到z的任意小写字符
\d等价[0-9]
\D等价[^0-9]
\n换行
\r回车
\t制表符
\w字母数字下划线[A-Za-z0-9_]
\W非字母数字下划线[^A-Za-z0-9_]
{}限定符表达式的开始和结束
|两者之间选一个
\可以将特殊字符转义
限定符
指定正则表达式的一个组件出现的次数
*,+,?,{n},{n,},{n,m}六种
贪婪(*,+尽可能多的匹配内容)
非贪婪(在*,+的后面加?从贪婪转换为非贪婪)
定位符
^开始
$结束
\b单词边界(字和空格间的位置)
\B非单词边界匹配(其他任意位置)
选择(圆括号的副作用,相关的匹配会被缓存,在第一个选项前加?:)
?:()|()
正则表达式运算符优先级
\
括号[],()
限定符
|
模式
一组描述字符串特征的字符
C#
http://www.runoob.com/csharp/csharp-regular-expressions.html
Java
http://www.runoob.com/java/java-regular-expressions.html
JavaScript
http://www.runoob.com/js/js-obj-regexp.html
RegExp一种描述要检索的内容的模式
RegExp修饰符
i不区分大小写
g全文搜索
var patt = new RegExp(pattern,modifiers);
等价于
var pat = /pattern/modifiers;
var str=“Is this all there is?”;
var patt1=/is/;
document.write(str.match(patt1));
返回第一个(对参数i或g起作用)
var patt1=new RegExp(“e”);
document.write(patt1.test(“The best things in life are free”));
返回真或假
var patt1=new RegExp(“e”);
document.write(patt1.exec(“The best things in life are free”));
找到一个即返回(对参数i或g不起作用)
match是字符串的方法,参数是正则表达式
exec是正则表达式的方法,参数是字符串
Python
http://www.runoob.com/python/python-reg-expressions.html