2013-03-31 52 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

評論將成爲正則表達式的一部分。對於所有空格也是如此(除了轉義換行符),所以縮排也不起作用。 –