我有一个匹配网址的正则表达式
(^http.?://\b)(.*):(\d*)(.*)
http://udara.com:8907/phpmyadmin/index.php
匹配上面的表达式。但是,可能会出现以下情况:URL中未指定端口:
http://udara.com/phpmyadmin/index.php?token=48bdb70fd4f1e6abe5ecb84192c1835e
在这种情况下,表达式不匹配。
如何说零或更多的第3组。 请注意,可能有IP而不是域udara.com
答案 0 :(得分:1)
请尝试以下操作:(^http.?://([a-zA-Z\-]+)(?::(\d*))?(.*)
EIDT:
^http.?://([a-zA-Z\-\.]+)(?::(\\d*))?(.*)
- java
^http.?:\/\/([a-zA-Z\-\.]+)(?::(\d*))?(.*)
- perl(和regex101.com)
答案 1 :(得分:0)
这可能会有所帮助:
http://[a-z\.]+(:[0-9]+)*/.+