关闭

正则表达式总结

标签: 正则表达式stringjavajssql
463人阅读 评论(0) 收藏 举报
分类:

一  常用正则定义(通用)


二  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+)+)$/;

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:83061次
    • 积分:1212
    • 等级:
    • 排名:千里之外
    • 原创:33篇
    • 转载:45篇
    • 译文:0篇
    • 评论:4条
    最新评论