一 常用正则定义(通用)
二 js中正则
传送门--------> w3school
注意:js正则表达式中的括号
1.分组,看作整体处理
2.后面引用前面匹配到的字符串,也就是向后引用
即在正则表达式中用“\n”(n代表引用的序号)引用式中前面括号中匹配的文本。见例子:
var reg = /(\d+)[a-z]{3}\1/;
//20man20
//20man23 错
//reg = /\1[a-z]{3}(\d+)/; 错
“\n”引用的是前面匹配的文本" 20 ",而不是匹配的正则表达式" \d+ "。另外,JS里只能引用前面的匹配文本,像例子中的将 \1写在括号引用的前面,将不会匹配到任何文本,
3、子模式匹配
有时我们想直接引用操作括号匹配的本文,那么可以用子模式匹配的功能(权威指南里叫子模式匹配,有点别扭,实际就是用一个变量形式替换匹配的文本)。基本形式是用 ’$n’的形式替代匹配编号为n的文本,常用在String对象里的replace()方法,见例子,等号两边交换单词:
var reg = /(\w+)=(\w+)/;
var str = ‘love=hate’;
str.replace(reg,'$2=$1');
//"hate=love"
三 Java中正则 (用分组进行特殊处理)
Pattern pt = Pattern.compile(regx);
Matcher m = pt.matcher(sql);
String [] fileds = null;
while(m.find())
{
fileds = m.group(1).split(",");
}
四 常见应用
1. 邮箱正则表达式
/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/; (最好写全,才不会匹配到空格)
可以根据实际情况修改正则表达式
/^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/;
或者
/^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$/;