2016-11-24 5 views
-1

Мне нужно написать строку для регулярного выражения, но обратная косая черта не меняется.обратная косая черта не изменяется в Swift 3

let regex = "([A-Za-z0-9//:\\_\\-\\.])+\\1\\.png" 

Это будет печатать:

([A-Za-z0-9//:\\_\\-\\.])+\\1\\.png 

набл: I`m с помощью Xcode 8 с Swift 3

+0

@jtbandes, вы просто редактируется в решении проблемы в вопросе? – user28434

+0

Я просто добавил форматирование моноширины в код. Но я согласен, что неясно, как это должно было появиться. В исходной версии «ожидаемый»/«фактический» также выглядел точно так же. – jtbandes

+0

@jtbandes, я имею в виду, вы заменили одну обратную косую черту двойным? – user28434

ответ

1

Вы должны использовать два backlashses \\, потому что Swift имеют одинаковый стиль с C в Строковые литералы ,

так что ваш код должен выглядеть так

let regex = "([A-Za-z0-9//:\\_\\-\\.])+\\1\\.png" 
+0

Да, но эти два зазора не приводят к одному люфту –

+0

@ZaiaLorenz Не могли бы вы дать мне один пример строки, с которым вы хотите соответствовать? –