是否有正則運算式可以通過布爾運算子拆分布爾字串但不在引號內
例子: boolean_string = "'larsen and turbo' and fullsta'ck or \"ruby\" and \"ruby or rails\""
預期輸出: ['larsen and turbo', and, fullsta'ck, or, ruby, and, ruby or rails]
目前正在嘗試使用以下代碼片段,但無法在引號內轉義運算子。
boolean_string.split(/\b(and|or)\b/)
我如何逃脫and并or's在引號內。`
uj5u.com熱心網友回復:
這可能會幫助您:
boolean_string = "'larsen and turbo' and fullsta'ck or \"ruby\" and \"ruby or rails\""
reg = %r{
(?: # outer-group to use "|" for multiple matches
['"]([^'"] )['"] # words inside quotes
|([\w'] ) # other words
)
}xm
boolean_string.scan(reg).flat_map(&:compact) # => ["larsen and turbo", "and", "fullsta'ck", "or", "ruby", "and", "ruby or rails"]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/471116.html
上一篇:在HAML中切換div的單選按鈕
