使用正则表达式进行URL验证

问题描述

我正在使用以下正则表达式。

regForUrl =/^((ftp|http|https):\/\/)(?:(www+\.)?)(?:([a-zA-Z0-9-]+\.))+([a-z]{2,3}\/)+(?:[\w\-\.\_\__\~\:\/\?\#\@\!\$\,\;\*\$\(\)\&\=\+\:\%]?)+$/;

示例URL ='http://test.domainName.com.ab:5445 / endUrl'。

此正则表达式不接受上述URL。如果出现“:”,则正则表达式返回false。请解决此问题...

解决方法

这有效:

perl -Mbignum=p,-2 -F'\|' -lnE '
    BEGIN {
        Math::BigFloat->round_mode("trunc");
    }
    $s += Math::BigFloat->new($F[1]);
    END { say $s }' input_file

但是我不确定您打算怎么做。

,
^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$

这对所有这些都很有用(example.com,www.example.comhttp://example.comhttps://example.com以及任何参数)。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...