gpt4 book ai didi

regex - 带有加号运算符的 bash 中的 If 语句正则表达式

转载 作者:行者123 更新时间:2023-11-29 09:09:12 25 4
gpt4 key购买 nike

我确信这是一个简单的疏忽,但我没有看到它,而且我不确定为什么这个正则表达式匹配得比它应该的多:

#!/bin/bash
if [[ $1 =~ ([0-9]+,)+[0-9]+ ]]; then
{
echo "found list of jobs"
}
fi

这是输入看起来像“02,48,109,309,183”。匹配就好了

但是,它也匹配没有最终数字而是“09,28,34”的输入

末尾的 [0-9]+ 是否应规定最后一个字符至少为 1+ 个数字?

最佳答案

您必须为输入的开始 (^) 和结束 ($) 添加标记:

#!/bin/bash
if [[ $1 =~ ^([0-9]+,)+[0-9]+$ ]]; then
echo "found list of jobs"
fi

否则它匹配 09,28,34, 因为它匹配从 04,忽略后面的所有内容。

关于regex - 带有加号运算符的 bash 中的 If 语句正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15990495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com