问题描述
我正在使用以下正则表达式。
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.com,http://example.com,https://example.com以及任何参数)。