正则表达式学习笔记

Posted suchi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式学习笔记相关的知识,希望对你有一定的参考价值。

    (\\w+://)(\\w+\\.){1}.\\w+\\.\\w{2,4}
匹配结果如下

解释:
 (\\w+://) -> \\w是指任意字符 + 匹配多个 跟上符号“//”
 (\\w+\\.){1} -> \\w任意字符,\\.  就是一个 .   出现次数1次不能再多
.\\w+\\.\\w{2,4}  -> . . 是非空字符(默认出现一次) \\w任意字符出现多次,后面跟上符号“.” 再跟上非空字符\\w 出现次数为 2-4次
总结 一些非主流网站估计没指望了,普通如 http://www.xxx.xxx 这一类的才行
(\\w+://)(\\w+\\.){1}.\\w+\\.\\w{2,4}|(\\w+\\.){1}.\\w+\\.\\w{2,4} 上面网址加强版
解释:
    多了一个字符 "|" 把两个区分开来了,并且这个是多选择模式匹配,
   意思是 前面是一个表达式,后面又是一个表达式,用或连接的 ,只要满足一个条件即为有效
匹配结果如下:

当然 请忽略那些什么.js的 手动清除下即可。

 

    <span>.*?</span>
    这个就好理解多了 搜索所有<span>标签及包含的内容
解释:
    <span>和</span>这个不用说
    .*?    ->   .  这个是除了换行符以外的字符(理论上是所有) * 出现0次以上,0次也算,? 限定为出现了就算,但是不能太多次,避免出现大堆无用字符
    <div.*>.*\\n*(<a.*)</div>
解释:
    这个很明显了, 就是一个查找页面上所有div下面还有<a>标签的正则(注意,返回的是div不是a)
    

    13\\d{9}|15\\d{9}|18\\d{9}
解释:
    这个最简单:
    就是查询已 13,15,18开头的电话号码
    13\\d{9} ->  我们来解释一下,首先这个13不用管,它是普通字符,\\d这里查找的是所有数字,{9}限定模式,指前面的"\\d"至少要出现9次 类似于:
    \\d\\d\\d\\d\\d\\d\\d\\d\\d => \\d{9}
    
    他们最喜欢用email来作为例子解答,这里我也来试着写一个看看
    (\\w*)@\\w+\\.\\w+
    这个比较全面,基本上只要格式正确都能解析出来

 

    (start) .*[\\W\\w]*?.* (end)
    这个就比较牛逼了,是跨行匹配
\\\\[\\w]([\\w]|[\\d]){0,4} 匹配 \\u003

 

以上是关于正则表达式学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript:学习笔记——正则表达式的应用

python学习笔记9:正则表达式

学习正则表达式笔记

正则表达式 学习笔记

Linux学习笔记之正则表达式

基础正则表达式学习笔记