如何匹配所有不是“=”的\b
?
"igloo".match(...) # => `igloo`
"igloo=".match(...) # => `nil`
答案 0 :(得分:3)
首先,\b
与'='不匹配;它匹配'='和其他东西之间的边界。要仅在边界的另一边不是'='时匹配,请使用否定前瞻:
rx = /igloo\b(?!=)/
"igloo".match(rx) => #<MatchData "igloo">
"igloo=".match(rx) => nil
这表示“匹配\ b边界,但只有在没有'='后面”。