工作需要,在一个页面匹配所有的网址,然后替换成所需要的东东。网址各种形式,各种地址确实很烦。
使用的phpstorm,替换这里不能使用通配符,只能使用正则表达式,这里用了2个表达式来达到目的。网址匹配的正则表达式
网址匹配表达式一
[a-zA-z]+://[^\s]*
网址匹配表达式二
http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
两种方式,大致能满足基本需求。
下面整理一点正则表达式,没有详细验证
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^\x00-\xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
匹配空白行的正则表达式:\n\s*\r
评注:可以用来删除空白行
匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
匹配首尾空白字符的正则表达式:^\s*|\s*$
评注:可以