bash脚本的正则表达式如何表示不匹配
时间: 2023-06-11 20:05:05 浏览: 70
某个模式?
bash脚本中,可以使用"!"符号在正则表达式前表示不匹配某个模式,例如:
```
if [[ "hello" !~ ^world$ ]]; then
echo "Not matching 'world'"
fi
```
上述代码中,"!~"表示不匹配,"^world$"为模式,如果字符串"hello"不匹配模式"^world$",则会输出"Not matching 'world'"。
相关问题
bash脚本的正则表达式如何判断不匹配的情况
bash脚本的正则表达式判断不匹配的情况可以使用if语句和=~运算符。例如:
```
if [[ $str !~ regex ]]; then
echo "Not match"
else
echo "Match"
fi
```
其中,$str为待匹配的字符串,regex为正则表达式。如果$str不匹配$regex,那么就会输出"Not match"。
linux正则表达式匹配ip
以下是一个匹配IP地址的正则表达式:
```shell
pattern="([0-9]|[1-9][0-9]|[1][0-9]{2}|[2][0-4][0-9]|[2][5][0-5])"
regstr="^$pattern\.$pattern\.$pattern\.$pattern$"
```
其中,pattern定义了IP地址中每个数字的取值范围,regstr则将四个数字和三个点连接起来,形成一个完整的IP地址的正则表达式。接下来,我们可以使用=~运算符将输入的IP地址和正则表达式进行匹配,判断是否为合法的IP地址。
以下是一个完整的脚本示例:
```shell
#!/bin/bash
echo "Please input IP address:"
read tmp
pattern="([0-9]|[1-9][0-9]|[1][0-9]{2}|[2][0-4][0-9]|[2][5][0-5])"
regstr="^$pattern\.$pattern\.$pattern\.$pattern$"
if [[ $tmp =~ $regstr ]]
then
echo "Right IP!"
else
echo "Bad IP!"
fi
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)