2013-03-31 19 views
2

这里是(从here拍摄)很好地缩进Python的正则表达式的例子:如何让bash正则表达式更具可读性?

charref = re.compile(r""" 
&[#]    # Start of a numeric entity reference 
(
    0[0-7]+   # Octal form 
    | [0-9]+   # Decimal form 
    | x[0-9a-fA-F]+ # Hexadecimal form 
) 
;     # Trailing semicolon 
""", re.VERBOSE) 

现在,我想用对于bash的正则表达式相同的技术(即用sed或者grep的),但无法找到任何到目前为止参考了类似的功能。是否可以缩进(和评论)这样的东西?在第一个两行的结束

echo "start of a line \ 
continues the previous line \ 
yet another continuation 
oops. this is a brand new line" 

注意反斜线:

echo "$MULTILINE | sed -re 's/(expr1|expr2)|(expr3|expr4)/expr5/g' 

回答

1

你可以使用bash的续行,可能。他们基本上'逃脱'换行符/换行符,否则会告诉bash你开始一个新行,这也隐含地终止了正在定义的语句。

+0

这工作正常,不幸的是单引号不会做的伎俩(这意味着更逃避我)。评论怎么样? –

+0

评论将成为正则表达式的一部分。对于所有空格也是如此(除了转义换行符),所以缩排也不起作用。 –