Преобразовать регулярное выражение электронной почты JS для Unicode, чтобы быстро? - PullRequest
0 голосов
/ 24 января 2019

Как конвертировать это регулярное выражение js в swift:

var re = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;

1 Ответ

0 голосов
/ 24 января 2019

Следуйте этим простым правилам конвертации:

  • Удалить ведущий / и завершающий / и все после завершающего /
  • Поместите оставшееся выражение в кавычки "", чтобы сделать его строкой Swift.
  • Каждый экземпляр \ необходимо экранировать, чтобы он был \\. Но каждый экземпляр \" необходимо экранировать как \\\".

i в конце (после завершающего / означает, что регистр следует игнорировать. Это означает, что вам нужно передать соответствующую опцию, чтобы игнорировать регистр при использовании класса NSRegularExpression (или аналогичного).

let re = "^(([^<>()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$"
...