正则表达式解析 谁能解释一下,别太水

徐建海 发布于 2015/05/06 10:53
阅读 342
收藏 0

谁能解释一下这里面具体的逻辑  (\"[.#]+?\"|\'[.#]+?\'|[^\s]+?) 

还有这个(>|\s.*?>)

*?  我记得这个是叫什么最小匹配,有人了解吗?

整个解释一下

 <a\s.*?href=(\"[.#]+?\"|\'[.#]+?\'|[^\s]+?)(>|\s.*?>)(.*?)<[/ ]?a>

这里先谢过啦

加载中
1
lanfogz
lanfogz

<a                匹配<a

\s                匹配一个空白字符(\s包括空格、制表符、换行符等)

.*?href=    最小匹配所有“.”(.是\n \r之外的字符),直到href=

(

    \"[.#]+?\"    匹配尽可能少的引号扩起来的.符号和#符号

    |     或者

    \'[.#]+?\'   匹配尽可能少的单引号括起来的.字符和#字符

    |    或者

    [^\s]+?    最小匹配所有非空白字符

)

(

    >     匹配>符号

    |    或者

    \s.*?> 最小匹配所有.符号

)

(.*?)    匹配尽可能少的.符号

<[/ ]?a> 匹配<a>或者</a>


里面[.#]应该的写法是[\w#]吧

这个正则是要匹配html里面的a标签,然后得到其中的href属性值

快速开发师
快速开发师
这位是大才啊
0
maradona
maradona
有人懂? 如果写成  有人懂吗? 俺觉得你这贴有更多人回答...感觉你这命令语气用的太多了
0
孤独的阅读者
孤独的阅读者
对着正则表达式的规则逐个翻译就行了
0
开源无憾
开源无憾
“我都看不大明白,你们肯定也是水货”
0
彪付_3个字符
无聊的人才会去琢磨,有几个点会用到这么复杂的正则?
0
红桃K
红桃K
读书读傻了,高中数学那么多难题,有几个是解决问题的??理论联系实际,工作用不上,都是扯淡呢
0
lanfogz
lanfogz

还有a标记之间的内容


*? :*是匹配0到多次,其他还有+匹配1到多次,{2}匹配两次

?是最小匹配,如\w*?b, 匹配abcde的结果是ab,而如果没有?就有匹配到整个字符串

lanfogz
lanfogz
回复 @Pathing : 正确
Pathing
Pathing
测试用例使用abcdeb才能匹配到整个字符串把
返回顶部
顶部