2

这是一个缩进很好的 Python 正则表达式示例(取自此处):

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 "$MULTILINE | sed -re 's/(expr1|expr2)|(expr3|expr4)/expr5/g'
4

1 回答 1

1

您可以使用 bash 的续行,可能是:

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

注意前两行末尾的反斜杠。它们本质上是“转义”换行符/换行符,否则会告诉 bash 您正在开始一个新行,这也隐式地终止了正在定义的语句。

于 2013-03-31T20:07:30.647 回答