Cho*_*ett 66 ruby regex code-formatting
这可能不是你期待的问题!我不想要一个匹配换行符的正则表达式; 相反,我想写一个长的正则表达式,为了便于阅读,我想分成多行代码.
就像是:
"bar" =~ /(foo|
bar)/ # Doesn't work!
# => nil. Would like => 0
Run Code Online (Sandbox Code Playgroud)
可以吗?
mth*_*ley 111
使用带有x选项的%r是首选方法.
从github ruby样式指南中查看此示例
regexp = %r{
start # some text
\s # white space char
(group) # first group
(?:alt1|alt2) # some alternation
end
}x
regexp.match? "start groupalt2end"
Run Code Online (Sandbox Code Playgroud)
https://github.com/styleguide/ruby
我建议不要切割正则表达式中间表达式,而是将其分成几部分:
full_rgx = /This is a message\. A phone number: \d{10}\. A timestamp: \d*?/
msg = /This is a message\./
phone = /A phone number: \d{10}\./
tstamp = /A timestamp: \d*?/
/#{msg} #{phone} #{tstamp}/
Run Code Online (Sandbox Code Playgroud)
我对长字符串也做同样的事情。
| 归档时间: |
|
| 查看次数: |
19941 次 |
| 最近记录: |