Swift конвертирует регулярное выражение javascript в регулярное выражение ios - PullRequest
0 голосов
/ 24 сентября 2018

Регулярное выражение в Javascript: (^04[0-9]{8})|(^[0-9]{2}[0-9]{4}[0-9]{4}$).

Я пытаюсь использовать регулярное выражение для австралийского телефона без проверки.Как мне преобразовать это регулярное выражение в регулярное выражение iOS?

let Format = "^04[0-9]{8})|(^[0-9]{2}[0-9]{4}[0-9]{4}$"
let Predicate = NSPredicate(format: "SELF MATCHES %@", Format)
return Predicate.evaluate(with: fieldText)

1 Ответ

0 голосов
/ 24 сентября 2018

Я думаю, вам не хватает только скобок ( и ) в начале и в конце.

let fieldText = "0401234567"
let pattern = "(^04[0-9]{8})|(^[0-9]{2}[0-9]{4}[0-9]{4}$)"
let matches = fieldText.range(of: pattern, options: .regularExpression) != nil
print(matches) // true

или, с NSPredicate:

let fieldText = "0401234567"
let pattern = "(^04[0-9]{8})|(^[0-9]{2}[0-9]{4}[0-9]{4}$)"
let predicate = NSPredicate(format: "SELF MATCHES %@", pattern)
let matches = predicate.evaluate(with: fieldText)
print(matches) // true

Регулярное выражение все еще выглядит довольно странно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...