好的伙计们。我正在编写一个bash脚本,并希望使用#
运算符将字符串与包含=~
的正则表达式进行比较。
这是我到目前为止所做的:
if [[ ${line} =~ \s*\# ]]; then
#do things
fi
正如您所看到的,我试图使用#
来逃避\
,根据this article这应该是可能的。然而,这对我来说真的很混乱。我的语法高亮显示仍然突出显示#
之后的文本,就像它是评论一样。
我的语法高亮不正确吗? #
的转义是否会干扰正则表达式的解析?有什么方法可以使用引号来避免这个问题吗?
答案 0 :(得分:4)
你可以这样做:
re='\s*#'
if [[ $line =~ $re ]]; then
#do things
fi