具体表明href\s*=\s*(?:\"(?<1>[^\"]*)\"|(?<1>\\S+)) 正则
答复:
取href的链接的
href是正常的href字符
\s暗示一个空格,*暗示1个可能多个匹配,当前的意思是一个可能多个空格
=是正常的字符
?<1>在这里应该是定名捕捉组,我不知道你这个正则是哪个门户的,但应该不是js和c#的,呵
\\S+,\\前面一个暗示转义,这个的意思是\后头带一个S,而S可以是多个,同样,\"也是转义,因为"和\都是正则的元字符
[^\"],在方括号中的^,假如我没记错的话,应该是不包括的意思吧,就是不不含"
差不多了吧,不必然全部正确,你应该去相识一下正则的元正符再来看
*是指0可能多个 href= 和 href =http://enenba.com/都匹配
(?<name>exp) 匹配exp,并捕捉文本到名称为name的组里,也可以写成(?'name'exp)
(?:exp) 匹配exp,不捕捉匹配的文本,也不给此分组分派组号
\"(?<1>[^\"]*)\" 匹配的 "任意字符串" 只要引号内不含^"就可以
尚有一个浸染就是把匹配的引号内的字串放在group 1里
(?<1>\\S+)这里大概是(?<1>\S+)
匹配任意非空字串,并放入 group 1里
因此整个表达式应该是匹配一个
href属性,并把属性值放入 group 1中
这样可以在匹配后直接利用该属性值
上一篇: 一个正则表达式 匹配以“abc”开头后头不能包括“x”、“y”、“z”字符 | 下一篇:收罗侠正文提取道理调查» 标签:分享到: 更多
相关日志:
【转】如何写出高效率的正则表达式
PHP正则匹配6到16位字符构成,只可有数字、字母、下划线
【转】EditPlus正则表达式删除文档多余空行
php收罗链接优秀正则
php收罗网站的title部门
用正则奈何得到方针字符串中不在超链接中的所需字符串
php正则,匹配.php和.html和.asp末了的文件
【转】PHP Simple HTML DOM理会器利用入门
editplus 将文本换行替换为<p>标签