Удивительно, что средство сопоставления регулярных выражений не соответствует обратной косой черте правильно. Например
Regex.split(~r{\\}, "C:\foo\bar")
["C:\foo\bar"]
Regex.match?(~r/\\/, "C:\foo\bar")
false
Я ожидал положительного совпадения, но, возможно, я \
ошибаюсь. Давайте проверим это:
Regex.escape("\\")
"\\\\"
Regex.split(~r{\\\\}, "C:\foo\bar")
["C:\foo\bar"]
Regex.match?(~r/\\\\/, "C:\foo\bar")
false
Все еще нет совпадений. Довольно запутался в этот момент. Как вы избегаете \
в регулярном выражении, чтобы соответствовать буквальному \
, как вы можете видеть в моем случае использования. Я хотел бы разделить путь Windows.
Regex.split(~r{\}, "C:\foo\bar")
? - person MonkeyZeus   schedule 05.02.2020~r{
и никогда не закрывается (закрывающая фигурная черта экранируется обратной косой чертой.) - person Aleksei Matiushkin   schedule 05.02.2020