首页 > 解决方案 > 如何shell脚本正则表达式完美匹配?

问题描述

我有一个匹配正则表达式的 Bash 脚本文件。

我的正则表达式脚本文件:

if [[ "$image" =~ [0-9]+(\.[0-9]+){3}\-[0-9]+$ ]]; then

我需要传递仅匹配的案例0.0.0.0-0000

这些是我的输入和结果。

通过:0.0.0.0-0000

通过:0.0.0.0.0.0-0000 << 不需要的匹配

否 : 0.0.0.0-word

否:0.0.0.0

正如我在上面标记0.0.0.0.0.0-0000的那样,与我的正则表达式匹配。

我的问题是如何修改我的正则表达式以仅匹配模式0.0.0.0-0000

标签: regexbash

解决方案


这个问题解决了。

跟随@第四只鸟我错过了锚(^)的答案。为了明确起止点,它应该在'^'和'$'之间。

你可以参考答案

if [[ "$image" =~ ^[0-9]+(\.[0-9]+){3}\-[0-9]+$ ]]; @The fourth bird Jul 11 at 8:43

感谢各位大佬的关注XD


推荐阅读