Кавычка в регулярном выражении ruby неверно истолковывается как начало строки
У меня есть проект macruby в xcode, в котором я хочу заменить все левые и правые кавычки в строке на ~@@~@@~"
а также "~@@~@@~
соответственно. Я протестировал следующий код в rubular.com, и он работает правильно.
string.gsub!(/\B"/, "~@@~@@~\"")
string.gsub!(/\b"/, "\"~@@~@@~")
Но когда я использую это в xcode, он интерпретирует "
в регулярном выражении в качестве начала строки и говорит, что у меня неверный номер аргумента для gsub
, Я пытался избежать цитаты:
string.gsub!(/\B\"/, "~@@~@@~\"")
string.gsub!(/\b\"/, "\"~@@~@@~")
Но это также не сработало. Спасибо за вашу помощь.
РЕДАКТИРОВАТЬ: мне удалось получить ошибку, чтобы уйти, кажется, это было из-за чего-то еще. Подсветка по-прежнему отключена, но я справлюсь с этим, поскольку она работает.
1 ответ
Решение
Есть ли альтернативный синтаксис %r[\B\"]
работать лучше? Как насчет Regexp.new
дали строку?