什么正则表达式库做bash使用

时间:2013-11-03 11:58:24

标签: regex bash

我正在教自己bash脚本,我现在正在学习的第一个元素是正则表达式。我正在通过我购买的视频学习正则表达式,而教师让我用来测试的正则表达式测试器是RegexPal,它是专门用于java脚本regexe的测试器。有人可以告诉我bash使用的正则表达式的类型或库吗?我想确保我正在学习能够在bash脚本中使用的正确内容。我知道RegexBuddy是一个选项,但如果我最终在bash中使用它们,我将使用哪种类型的正则表达式。非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

使用的Bash正则表达式是相当标准的。例如:

[[ $var =~ ^[0-9]+$ ]] && echo "it's a number"

值的范围(例如[0-9]),用于指示开始的^符号,用于指示结束的$符号,出现次数({{ 1}}用于一个或多个,+用于0或更多,*用于n和m次出现,{n, m}用于严格n次出现,...)。它们在所有允许我们使用正则表达式的语言中找到。

所以我认为可以使用任何制造正则表达式工具(进行一些调整。例如在PHP中有分隔符,在某些语言中有数字的{n}等快捷方式,... )。

但是,Bash非常有限,但可能会附带其他工具,例如\degrep),grep -Esed ......

无论如何,在使用制造正则表达式工具之前,我认为您必须知道正则表达式的语法才能知道工具的提议是否正确。