正则表达式:为站内链接加上域名

简介:

1、测试文本

1
2
3
4
5
6
7
< a  href='http://search/a.aspx'>home</ a >
 
< a  href='/aab/bb'>hello</ a >< a  href='http://www.sohu.com'>sohu</ a >< p >sdfsf</ p >
 
< a  href="/aab/bb">hello</ a >
< div >hello world</ div >
< a  href="aaa/bb"></ a >

 

2、为站内链接加上域名

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Text;
using  System.Text.RegularExpressions;
using  System.IO;
 
namespace  ConsoleApplication1
{
     class  Program
     {
         static  void  Main( string [] args)
         {
             string  s = File.ReadAllText( @"c:\a.txt" );
 
             //给所有非http的链接加上域名,链接前无/
             string  d = Regex.Replace(s,
                 @"<a\s+href\s?=\s?[\'|\""]((?!http)/.*)?[\""\']" ,
 
                 @"<a href=""www.cnblogs.com$1""" ,
 
                 RegexOptions.Compiled|RegexOptions.IgnoreCase);
 
             //给所有非http的链接加上域名,链接前有/
             string  e = Regex.Replace(d,
                 @"<a\s+href\s?=\s?[\'|\""]((?!http)(?!/).*)?[\""\']" ,
 
                 @"<a href=""www.cnblogs.com/$1""" ,
 
                 RegexOptions.Compiled | RegexOptions.IgnoreCase);
 
             // Console.WriteLine(d);
 
             Console.WriteLine(e);
 
             Console.Read();
 
         }
     }
}

a. 不包含http, (?!http)表示。

b. 非贪婪匹配 ?> 代表遇到第一个>匹配结束。

c. $1代表前面的组1.

d. 双引号在模式里\""

e. 双引号在@转义的字符串里用两个""表示.

本文转自敏捷的水博客园博客,原文链接http://www.cnblogs.com/cnblogsfans/archive/2010/01/24/1655121.html如需转载请自行联系原作者


王德水

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
Web App开发 索引
正则表达式匹配域名、网址、url
DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母。标号中除连字符(-)外不能使用其他的标点符号。级别最低的域名写在最左边,而级别最高的域名写在最右边。由多个标号组成的完整域名总共不超过255个字符。
28453 0
正则表达式获取一串网址的域名段代码
正则表达式获取一串网址的域名段代码
|
4月前
|
存储 人工智能 算法
函数计算FC部署问题之域名链接链接访问失败如何解决
函数计算FC部署是指在阿里云Function Compute服务上部署函数或应用程序的过程,它提供了一个无需管理服务器即可运行代码的平台;本合集将介绍和总结函数计算FC部署中常见的问题与解决方案,指导用户如何高效部署和管理Serverless函数。
|
前端开发 JavaScript
js截取相应的域名----正则匹配法 和校验Url 正则表达式
js截取相应的域名----正则匹配法 和校验Url 正则表达式 用javascript截取相应的域名方法两种,供大家参考 1.方法1: [javascript] view plain copy function domainURI(str){...
3983 0
|
移动开发 小程序 UED
web-view不配置业务域名不可以跳转外部链接
遇到需要项目跳转外部链接,想通过web-view跳转,但是发现打不开 经过查阅相关资料和进行相关测试,不配置业务域名这是无法实现的
140 0
|
4天前
|
域名解析 弹性计算 Linux
阿里云购买云服务器、注册域名、备案及绑定图文教程参考
本文为大家介绍了2024年购买阿里云服务器和注册域名,绑定以及备案的教程,适合需要在阿里云购买云服务器、注册域名并备案的用户参考,新手用户可通过此文您了解在从购买云服务器到完成备案的流程。
阿里云购买云服务器、注册域名、备案及绑定图文教程参考
阿里云域名购买注册流程_创建信息模板_域名实名认证全流程
阿里云域名注册指南:访问[阿里云域名注册入口,查询并注册心仪域名,选择后缀,加入清单后结算。价格因后缀而异,如.com首年78元。创建域名信息模板完成实名认证,首次需上传资料。获取优惠口令并使用可享折扣