请问正则表达式如何过滤超链接和提取链接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问正则表达式如何过滤超链接和提取链接相关的知识,希望对你有一定的参考价值。

第一个问题
sql中的一个字段都是这种形式的<a href=......>abde</a> (其中"......"代表任意字符.我想过滤掉"<>"留下abde.请问如何用javascript和正则表达式过滤掉超链.
只要把"<SCRIPT>
re = ;str = "<%=abc%>";
newstr = str.replace(re, "");
document.write(newstr)
</SCRIPT>"这段中的re给表达出来就可以了

第二个问题和这个差不多,就是sql字段中有大堆字符,其中每个字段里面包含两个以"http://image."开头的超级链接,只要分别把上面的re给表达出来,分别提取那两个链接即可.是分别提取哦
补充一下,是这些字段是数据库本身就有的,需要替换后才能用到网站上,所以比较着急.字段是"<a href="/search/search.asp?searchword=%28%D2%E2%B4%F3%C0%FB%29%BF%A8%B6%FB%C2%E5%A1%A4%CB%B9%B8%EA%C2%A1%D6%F8%A1%A2%CF%C4%B7%BD%C1%D6%D2%EB&uid=9gw5zvgsusgw5s7a5wgsssqua">卡尔洛</a> "这种形式的,这个是第一个问题的字段补充

<table>
<tr>
<td id="list">
<a href="a小区">a小区</a>ddd
<a href="b小区">b小区</a>fdsf
<a href="c小区">c小区</a>sdfas
<a href="d小区">d小区</a>asdf
<a href="e小区">e小区</a>asdf
<a href="f小区">f小区</a>asdf
<a href="g小区">g小区</a>asf
<a href="h小区">h小区</a>sdaf
<a href="i小区">i小区</a>asdf
<a href="j小区">j小区</a>af
</td>
</tr>
</table>

<br/>
结果
<br/>
<script language="JavaScript">
<!--
var s = new String();
s = document.getElementById("list").innerhtml;
//var reg = /<a href=.*>.+<\/a>/ig;
var reg = /<a href=[^<>]+>[^<>]+<\/a>/ig;
var r;
r = s.match(reg);
document.write(r); //会打印出 所有链接
alert(r.length + r); //显示所有匹配的代码
//-->
</script>
参考技术A <script language="JavaScript" type="text/JavaScript">
<!--
str = "<a href=\"xxx.asp\"><div>1234567</div>89</a>";
str = str.replace(/<a.*?>(.*)<\/a>/ig,"$1")
alert(str.replace(/<(.*)>(.*)<\/\1>/ig,"$2"));
//-->
</script>
参考技术B 偶不懂。。。露下脸而已。。。。。。。

如何在 Flutter 中从 JSON 中提取图像链接 - 正则表达式

【中文标题】如何在 Flutter 中从 JSON 中提取图像链接 - 正则表达式【英文标题】:How to extract image link from JSON in Flutter - Regex 【发布时间】:2021-05-26 08:28:11 【问题描述】:

我是 Flutter 的初学者。我正在制作一个笔记应用程序,其中包含flutter_quill。当我将数据保存为 JSON 时,我得到了这个数据。

["insert":"Ttttttt\n","insert":"image":"/data/user/0/com.example.notes/app_flutter/image_picker49200670200148407.jpg","insert":"\n\n"]

我只需要 .jpg 文件数据部分 - /data/user/0/com.example.notes/app_flutter/image_picker49200670200148407.jpg,如何获得?使用正则表达式?

【问题讨论】:

阅读此article 【参考方案1】:

这样的?

void main() 
  var l = <Map<String, dynamic>>[
    "insert": "Ttttttt\n",
    "insert":         "image":"/data/user/0/com.example.notes/app_flutter/image_picker49200670200148407.jpg"
    ,
    "insert": "\n\n"
  ];

  var imageElement = l.firstWhere((element) =>
      element["insert"] is Map && element["insert"].containsKey("image"));
  var image;
  if (imageElement!=null) image=imageElement["insert"]["image"];
  
  print (image);
  

【讨论】:

【参考方案2】:

循环所有插入然后检查,有关键的“图像”所以得到那个值

【讨论】:

您的回答需要更多细节。例如一些代码(或伪代码)。

以上是关于请问正则表达式如何过滤超链接和提取链接的主要内容,如果未能解决你的问题,请参考以下文章

PHP正则表达式提取超链接及其标题

PHP正则表达式提取html超链接中的href地址

PHP正则表达式提取html超链接中的href地址

用C#怎么提取a标签的超链接?

正则表达式实例

C#怎么用正则表达式提取链接和图片标签的属性