【发布时间】:2014-05-21 23:40:30
【问题描述】:
对于字符串Be there @ six.
为什么会这样:
str.gsub! /\bsix\b/i, "seven"
但尝试替换 @ 符号不匹配:
str.gsub! /\b@\b/i, "at"
逃避它似乎也不起作用:
str.gsub! /\b\@\b/i, "at"
【问题讨论】:
-
@aliteralmind 那篇文章似乎没有提到“@”。
-
@aliteralmind 我尝试按如下方式转义它,但它似乎仍然无法匹配:
/\b\@\b/i -
其实是词界问题。不是逃避问题。除非有一个词紧接在它之前结束,或者紧随其后开始,否则它不会匹配。 StackOverflow Regular Expression FAQ:\b:word boundary, and \B:non-word boundary 中的相关问题,列在“锚”类别下,大约下降了 1/4。
标签: ruby-on-rails ruby regex