Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 锚定标记的正则表达式_Html_Regex - Fatal编程技术网

Html 锚定标记的正则表达式

Html 锚定标记的正则表达式,html,regex,Html,Regex,当我尝试编写正则表达式来匹配锚定标记时,将href中的链接作为组2,锚定标记的文本作为组3,如下所示: 你好吗 但是对于第3组,它没有匹配Hello World1,而是匹配Hello World2。有人能帮我写一个正则表达式来匹配group2=Hello/world1和group2=Hello World2。 谢谢 您给出的示例的正确语法如下所示: (?:<a(?: href=[^>]+>([^<]+)<\/a>(?!<a)?))+ (?:]+>([^

当我尝试编写正则表达式来匹配锚定标记时,将href中的链接作为组2,锚定标记的文本作为组3,如下所示:

你好吗

但是对于第3组,它没有匹配
Hello World1
,而是匹配
Hello World2
。有人能帮我写一个正则表达式来匹配group2=
Hello/world1
和group2=
Hello World2
。 谢谢


您给出的示例的正确语法如下所示:

(?:<a(?: href=[^>]+>([^<]+)<\/a>(?!<a)?))+

(?:]+>([^不要使用正则表达式来解析HTML,可能有太多的变体。使用DOM解析器库。是的,但我的任务是使用正则表达式来解决这个问题。使用非贪婪的
*?
而不是
*
。或者使用
[^>]*
所以它不会超过第一个
。我不知道第三组如何匹配这两个东西,因为
[a-zA-Z0-9]
与单词之间的空格不匹配。请看我添加到问题中的图片。这就是我面临的问题。