Регулярное выражение для соответствия URL в Java

В Xcode 9.0b5 вы можете столкнуться с этим, потому что Xcode 9.0b5 имеет ошибку в нем, где, когда вы добавляете исходный код, он не соблюдает целевые настройки. Вы должны войти и установить для каждого файла вручную следующие слова:

72
задан Delimitry 24 May 2015 в 15:18
поделиться

4 ответа

Попробуйте следующую строку 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>
97
ответ дан Alan Moore 24 November 2019 в 12:26
поделиться

Я попробую стандарт, "Почему Вы делаете его этот путь?" ответ... Вы знаете [приблизительно 111]?

URL url = new URL(stringURL);

Вышеупомянутое бросит MalformedURLException, если оно не может проанализировать URL.

66
ответ дан nhahtdh 24 November 2019 в 12:26
поделиться

Это работает также:

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>

, Таким образом, вероятно, первый более полезен для общего использования.

2
ответ дан Sergio del Amo 24 November 2019 в 12:26
поделиться

При использовании регулярных выражений из библиотеки RegexBuddy удостоверьтесь, что использовали те же режимы соответствия в собственном коде как regex из библиотеки. При генерации отрывка исходного кода на вкладке Use RegexBuddy автоматически установит корректные опции соответствия в отрывке исходного кода. Если Вы скопировать/вставить regex, необходимо сделать это сами.

В этом случае, как другие указали, Вы пропустили опцию нечувствительности к регистру.

0
ответ дан Jan Goyvaerts 24 November 2019 в 12:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: