这段正则表达式如何解释?

bigbear2046 2002-06-27 02:02:35
m{
<\s*
A \s+ HREF \s*=\s*(['''])(.*?)\1
\s*>
}gsix
是用来提取网页中的链接的,我看不明白,请高手能否详细讲解,不胜感谢
...全文
30 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zengpan_panpan 2002-07-01
  • 打赏
  • 举报
回复
(.*?)中?应该没用
g表示全部匹配,一次匹配成功还继续匹配,直到不行。
s表示单行匹配。
i表示忽略模式中大小写
x表示忽略模式中的白空格,这样写起来好看

第一个()对应匹配结果$1,第n个对应$n,在模式中不能用$1而要用\1引用第一个括号的内容,第一个括号匹配引号用,这就是说开头有引号,后面也应该有,开头没有后面也不能有。
bigbear2046 2002-06-30
  • 打赏
  • 举报
回复
(.*?),gsix是什么含义,什么叫与第一个()里结果相同?本人初学,还望指点。
welkin_qiu 2002-06-27
  • 打赏
  • 举报
回复
它是用来查找类似以下文本中的
<A HREF="http://www.a.com">
<A HREF='http://www.a.com'>
共查找结果在 $2 中, 等于 http://www.a.com
-------------------------------------------------
m{
<\s*
A \s+ HREF \s*=\s*(['''])(.*?)\1
\s*>
}gsix

第一个()里的['"]是表示这里可以为'或"字符,第二个()里的就是要查找的结果. \1 表示这里与第一个()里的结果的相同

2,203

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 CGI
社区管理员
  • CGI社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧