编写长正则表达式,嵌入式注释会成语吗?

Some languages have facilities for embedding newlines and whitespace in long regular expressions to make them more readable

( yogi | booboo )   # match something
\s
( the \s)?          # optional article
bear                # bears are not Mr. Ranger

AFAICT golang does not have that option, is that right?

Lacking that, is a composed regex the only option for clarity? Or is there another idiom? I'm not finding any examples of long regexen in go right now.

Most of the time people just provide a comment with a description of what the regexp matches. But skimming through the Go source code I have found this interesting example:

// removeRE is the list of patterns to skip over at the beginning of a
// message when looking for message text.
var removeRE = regexp.MustCompile(`(?m-s)\A(` +
    // Skip leading "Hello so-and-so," generated by codereview plugin.
    `(Hello(.|
)*?

)` +

    // Skip quoted text.
    `|((On.*|.* writes|.* wrote):
)` +
    `|((>.*
)+)` +

    // Skip lines with no letters.
    `|(([^A-Za-z]*
)+)` +

    // Skip links to comments and file info.
    `|(http://codereview.*
([^ ]+:[0-9]+:.*
)?)` +
    `|(File .*:
)` +

    `)`,
)