複数行の正規表現が Ruby で機能しない
概要
Ruby で正規表現を書きましたが、これは 1 行で正常に動作しましたが、非常に大きいため、複数行の形式で記述する必要があります。
複数行で使用するために %r{}x 形式を使用していますが、機能しません。
regex = (/\A(RM|R1)([A-Z])([A-Z])(\d+)(\d\d+)([A-Z])([A-Z])([A-Z]+)-?(\d+)([A-Z])(\d)#?([A-Z])([A-Z])(\d)\z/)
一行で
regex = %r{
([A-Z])
([A-Z])
([A-Z])
(\d+)
(\d\d+)
([A-Z])
([A-Z])
([A-Z]+)
-?
(\d+)
([A-Z])
(\d)
#?
([A-Z])
([A-Z])
(\d)
}x
複数行(各行に 1 つのグループ)
私のアプローチの何が間違っているのでしょうか?
解決策
フリースペースモードの場合と同様に # 記号をエスケープする必要があります。これはコメントの開始を示します。
では、# を置き換えますか?と #?。