мне нужно регулярное выражение, которое может соответствовать:
Итак, в основном я хочу, чтобы регулярное выражение соответствовало https: //*.host.com/
Примечание: я не прошу какой-нибудь веб-сайт, который может генерировать регулярное выражение, и я не спрашиваю, как его сгенерировать, и я не прошу узнать, как сгенерировать регулярное выражение. Мне просто нужен ответ от любого, кто имеет опыт сопоставления регулярных выражений.
@Pshemo, я не знаю, как писать регулярное выражение, и мне нужно быстрое решение, так как у меня нет времени сидеть и изучать регулярное выражение, пока я спешу применить исправление, кроме того, я перепробовал все веб-сайты и не получил ни одного В результате я просто просил некоторую помощь, и, возможно, я выучу регулярное выражение после применения исправления. но пользователи осыпали меня голосами против и отчетами. Это простая помощь, расслабь всех
https://[\w]+[.]host[.]com/
Здесь,
https://
- будет соответствовать точному слову
[\w]+
- будет соответствовать любым символам слова [A-Za-z_0-9]
[.]host[.]com/
- будет соответствовать точному слову
Ниже приведен код Java,
public static void main(String[] args) {
List<String> list = Arrays.asList("https://share.host.com/",
"https://media.host.com/","https://lost.host.com/","https://anything.google.in/","https://found.host.com/","https://anything.host.com/","https://anything.host.in.com/");
String regEx = "https://[\\w]+[.]host[.]com/";
for(String input:list) {
Matcher matcher = Pattern.compile(regEx).matcher(input);
if (matcher.matches()) {
System.out.println("Valid :" +input );
}else {
System.out.println("Invalid :" +input);
}
}
}
«[/ w *] // - будет соответствовать любому слову символы [A-Za-z_]» и «.host.com / - будет соответствовать точному слову» неверны. Пожалуйста, уделите больше внимания своим ответам. Не снижайте доверие к этому сайту, который многие строили годами.
Ошибка печати. внес необходимые изменения
Нет, у него еще много проблем. Сначала проверьте свое решение, а затем опубликуйте его.
@Pshemo Current Expression https: // [\ w] + .host.com / точно будет работать
Протестируйте его против http://somehostecom/
или http://somehost.com/
.
Оба недействительны.
Моя ошибка, я заменяю http
на https
в своих примерах, а затем снова тестирую.
Вы не можете просто так использовать символы косой черты (/) или точки (.), Тогда их нужно экранировать. Что-то вроде этого должно работать лучше: https://[\w]+\.host\.com/
Внес изменения. Спасибо :)
@Amongalen В JavaScript регулярное выражение имеет форму /regex/flags
, но в Java это не так, поэтому /
не является специальным символом, который здесь требует экранирования.
@DeepakGunasekaran Наконец-то :) Кстати, вам не нужно помещать \w
в класс символов. \w+
имеет тот же эффект, что и [\w]+
. [\w]
используется, если вы хотите объединить его с другими символами или классами символов, такими как [\w!?]
для сопоставления букв, цифр, _
, !
, ?
.
@Pshemo Я использовал regexr.com для проверки этого регулярного выражения, и он давал мне ошибки при использовании неэкранированного /
. Однако вы правы, это скорее предупреждение - «это может вызвать проблемы при копировании / вставке в код»
Разобрался @Pshemo Спасибо :)
Писать это не так уж сложно, поэтому вы, вероятно, пытались это сделать. С какой проблемой вы столкнулись при написании решения?