В Xcode 9.0b5 вы можете столкнуться с этим, потому что Xcode 9.0b5 имеет ошибку в нем, где, когда вы добавляете исходный код, он не соблюдает целевые настройки. Вы должны войти и установить для каждого файла вручную следующие слова:
Попробуйте следующую строку regex вместо этого. Ваш тест был, вероятно, сделан чувствительным к регистру способом. Я добавил строчные альфы, а также соответствующую строку, начинающую заполнителя.
String regex = "^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]";
Это работает также:
String regex = "\\b(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]";
Примечание:
String regex = "<\\b(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]>"; // matches <http://google.com>
String regex = "<^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]>"; // does not match <http://google.com>
Я попробую стандарт, "Почему Вы делаете его этот путь?" ответ... Вы знаете [приблизительно 111]?
URL url = new URL(stringURL);
Вышеупомянутое бросит MalformedURLException
, если оно не может проанализировать URL.
Это работает также:
String regex = "\\b(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]";
Примечание:
String regex = "<\\b(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]>"; // matches <http://google.com>
String regex = "<^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]>"; // does not match <http://google.com>
, Таким образом, вероятно, первый более полезен для общего использования.
При использовании регулярных выражений из библиотеки RegexBuddy удостоверьтесь, что использовали те же режимы соответствия в собственном коде как regex из библиотеки. При генерации отрывка исходного кода на вкладке Use RegexBuddy автоматически установит корректные опции соответствия в отрывке исходного кода. Если Вы скопировать/вставить regex, необходимо сделать это сами.
В этом случае, как другие указали, Вы пропустили опцию нечувствительности к регистру.