📜  bash 中 url 的正则表达式 (1)

📅  最后修改于: 2023-12-03 14:59:28.473000             🧑  作者: Mango

Bash中URL的正则表达式

在Bash中,可以使用正则表达式来匹配URL,这在网站爬虫、网络安全等方面非常有用。以下是一些常见的Bash中URL的正则表达式。

匹配http和https URL
^https?\:\/\/([a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,63})\:?([0-9]{0,5})?(\/[a-zA-Z0-9\-\._\?\,\'\/\\\+&%\$#\=~]*)?$

这个正则表达式可以匹配http和https协议下的URL,包括主机名、端口号和路径。例如:

https://www.google.com/search?q=regex
http://github.com:1234/user/repo

其中,^https?\:\/\/表示以http或https协议开头,([a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,63})表示匹配合法的域名,\:?([0-9]{0,5})?表示可选的端口号,(\/[a-zA-Z0-9\-\._\?\,\'\/\\\+&%\$#\=~]*)?表示可选的路径。

匹配邮件地址
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,63}$

这个正则表达式可以匹配常见的邮件地址格式,例如:

example@example.com
username+tag@example.co.uk
匹配IP地址
^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$

这个正则表达式可以匹配IPv4地址,例如:

192.168.1.1
10.0.0.1
匹配URL中的文件名
\/([^\/]+\.[a-zA-Z0-9]+)(\?.*)?

这个正则表达式可以匹配URL中的文件名,例如:

https://www.example.com/files/document.pdf
http://example.com/images/logo.png?v=2

其中,\/([^\/]+\.[a-zA-Z0-9]+)表示匹配URL中最后一个斜杠后的文件名,(\?.*)?表示匹配文件名后的查询参数(可选)。

以上是一些常见的Bash中URL的正则表达式,可以根据需要进行更改和优化。