Regex bash使用什么正则表达式库
我正在自学bash脚本,我现在学习的第一个元素是正则表达式。我通过购买的视频学习正则表达式,讲师让我使用的regex测试仪是RegexPal,它是一个专门针对java脚本regexe的测试仪。有人能告诉我bash使用的正则表达式的类型或库吗?我想确保我正在学习能够在bash脚本中使用的适当内容。我知道RegexBuddy是一个选项,但是如果我最终在bash中使用它们,我会使用哪种类型的regex呢。非常感谢您的帮助。使用的Bash regex相当标准。例如:Regex bash使用什么正则表达式库,regex,bash,Regex,Bash,我正在自学bash脚本,我现在学习的第一个元素是正则表达式。我通过购买的视频学习正则表达式,讲师让我使用的regex测试仪是RegexPal,它是一个专门针对java脚本regexe的测试仪。有人能告诉我bash使用的正则表达式的类型或库吗?我想确保我正在学习能够在bash脚本中使用的适当内容。我知道RegexBuddy是一个选项,但是如果我最终在bash中使用它们,我会使用哪种类型的regex呢。非常感谢您的帮助。使用的Bash regex相当标准。例如: [[ $var =~ ^[0-9]+
[[ $var =~ ^[0-9]+$ ]] && echo "it's a number"
值的范围([0-9]
例如,^
符号表示开始,$
符号表示结束,出现次数(+
表示一次或多次,*
表示0次或多次,{n,m}
表示n次和m次之间,{n}
表示n次,…)。它们存在于所有允许我们使用正则表达式的语言中
因此,我认为任何制造正则表达式工具都可以用于此目的(只需做一些调整。例如,在PHP中,在某些语言中有分隔符对于数字,…)有类似于\d
的快捷方式
然而,Bash非常有限,但可能伴随着其他工具,如egrep
(grep-E
)、sed
或awk
无论如何,在使用制造regex工具之前,我认为您必须了解regex的语法,才能知道工具的建议是否正确。Bash regex引擎有点有限。我强烈建议您使用Perl学习正则表达式,您将学到的任何技能都可以轻松应用到bash正则表达式中。谢谢Samuel。我会照你的建议去做。在bash中不经常使用regexp!地球仪的使用频率更高。否则,它使用POSIX正则表达式函数,其中的
man
位于man3正则表达式(在我的系统上)。我不明白为什么这个问题作为一个主题外的线程来结束。这是一个关于编程(shell脚本、regex、perl…)的问题,不是吗?这个问题很有价值,如果它的重点是要求对bash中的regex和接受regex的各种实用程序进行高层次的概述,包括许许多多相关的陷阱。这正是我想知道的。谢谢伊德里斯。@JudeT.Bonham别忘了将此主题标记为已解决;)