在多行分割Ruby正则expression式
这可能不是你期望的问题! 我不想要一个正则expression式匹配的正则expression式; 相反,我想写一个长的正则expression式,为了便于阅读,我想分割成多行代码。
就像是:
"bar" =~ /(foo| bar)/ # Doesn't work! # => nil. Would like => 0
可以这样做吗?
您需要使用/x
修饰符,它启用自由间距模式 。
使用%r和x选项是最好的方法。
从github ruby风格指南看这个例子
regexp = %r{ start # some text \s # white space char (group) # first group (?:alt1|alt2) # some alternation end }x
您可以使用:
"bar" =~ /(?x)foo| bar/