需要正则匹配的字符串,如下图:
正则表达式:
((http[s]{0,1}|ftp)://[a-zA-Z0-9\.\-]+\.([a-zA-Z]{2,4})(:\d+)?(/[a-zA-Z0-9\.\-~!@#$%^&*+?:_/=<>[\u4e00-\u9fa5]*]*)+)|(www.[a-zA-Z0-9\.\-]+\.([a-zA-Z]{2,4})(:\d+)?(/[a-zA-Z0-9\.\-~!@#$%^&*+?:_/=<>[\u4e00-\u9fa5]*]*)+)
匹配结果:
. 匹配除了换行符以外的任意字符;
* 匹配任意数量,指定*前边的内容可以连续重复使用任意次,可能是0次;
+ 匹配重复1次或更多次
.* 匹配任意数量的不包含换行的字符;
\d 匹配一位数字(0,1,2...);
- 匹配它本身
{} 连续匹配,如0\d{2}-\d{8} 代表以0开头,连续匹配2次数字,然后是一个中横线-,最后在连续匹配8次数字
$ 匹配字符串的结束
^ 匹配字符串的开始
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\b 匹配单词的开始或结束