Написать регулярное выражение которое проверяет валидный ip адрес
Перейти к содержимому

Написать регулярное выражение которое проверяет валидный ip адрес

  • автор:

WebSite Laboratory

Современные веб-технологии предоставляют разработчикам неограниченные возможности для реализации своих идей. Для того, чтобы вы могли использовать весь их потенциал, необходимо знать как правильно их использовать. На этой странице мы постарались собрать ссылки на документацию по различным технологиям, которые могут быть вам полезны.

HTML

Язык гипертекстовой разметки — это язык, используемый для определения структуры и описания содержания веб-страницы в структурированной форме.

CSS

Каскадные таблицы стилей используются для описания внешнего вида веб-контента.

JavaScript

JavaScript — язык программирования, широко используемый для реализации взаимодействия пользователя с веб-сайтами и приложениями.

SVG

Масштабируемая векторная графика позволяет вам описать изображение как набор векторов (линий) и фигур, что позволяет масштабировать такую графику плавно независимо от размеров, в которых она нарисована без потерь качества.

Руководство веб-разработчика

Руководство веб-разработчика предоставляет полезные пошаговые материалы, которые помогут вам в полной мере использовать веб-технологии для выполнения ваших задач и реализации ваших идей.

Учебные материалы для веб-разработчиков

Перечень учебных материалов позволит вам пошагово изучить API, технологии и расширить свой кругозор в области веб-технологий.

Справочные материалы

На данной странице будут представлены ссылки на всю справочную информацию, имеющуюся в MDN; а пока можно использовать ссылки на веб-технологии из левой части данной страницы.

Помогите с регулярками в LInux Нужно решить хотя бы 2 задания

1. Написать регулярное выражение, которое проверяет валидный IP-адрес. Например, 192.168.1.1 подойдет, а 256.300.1.1 – нет.
2. Написать регулярное выражение, которое проверяет, является ли указанный файл нужного типа (на выбор .com,.exe или .jpg,.png,.gif и т. д.). Написать регулярное выражение, является ли ссылка URL на некоторый файл, и это действительно ссылка на картинку (например, http://site.com/folder/1.png), а не на любой файл.
3. *Написать регулярное выражение, которое проверяет, является выведенное значение «белым» IP-адресом (5.255.255.5 подойдет, а 172.16.0.1 нет)
4. *Написать регулярное выражение, которое проверяет, что файл в URL (например, https://site.ru/folder/download/test.docx) не обладает неким расширением (например .exe не пройдет, или .sh – не пройдет. выбор списка исключенных расширений – на ваш выбор)

Голосование за лучший ответ
Помогаю:
А НУ, БЫСТРО СЕЛА ЗА СТОЛ И НАЧАЛА РЕШАТЬ ДОМАШКУ! ЛЕНТЯЙКА!
Наталья ЛуневаУченик (188) 5 лет назад
я решаю, но сложности есть

Ярослав Искусственный Интеллект (107785) Вот по сложностям и разумнее задавать вопрос (конкретно, и показывая на примере самостоятельного решения). Вряд ли кто-то здесь горит желанием решать чужие задания.

регулярки — это мега тема.

мало кто изучает особенности этого интерпретатора, это не нужно в наше время, это просто так ты придумываешь. тебе если платят, то выгоднее делать на С++

потом если тебя уволят — кого наймут, ему будет удобно принимать работу на С

Регулярные выражение для поиска IP адресов

Ниже представлены регулярные выражения, которые помогут найти все IP адреса в строке.

Данные регулярные выражения соответствуют шаблонам IPv4 и IPv6 адресов.

Регулярное Выражение для Поиска IP Адресов

Паттерн для поиска IPv4 адресов, соответствует всем значениям от 0.0.0.0 to 999.999.999.999 и в большинстве случаев этого бывает достаточно.

"([0-9]1,3>[\.])3>[0-9]1,3>"

Найти Все IP Адреса с Помощью Grep

Пропарсим файл и найдем в нем все IP адреса из диапазона от 0.0.0.0 до 999.999.999.999 с помощью grep:

$ grep -E -o "([0-9][\.])[0-9]" file.txt

Поиск Правильных IPv4 Адресов

Регулярное выражение для поиска и проверки правильных IPv4 адресов:

"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"

Поиск IPv6 Адресов

Регулярное выражение для проверки IPv6 адреса:

"((^|:)([0-9a-fA-F]))"

Как проверить IP-адрес с помощью регулярного выражения

Целая комбинация означает цифру от 0 до 255, за которой следует точка «.», Повторение 4 раза и завершение без точки «.». Допустимый формат IP-адреса: «0-255.0-255.0-255.0-255».

1. Пример регулярного выражения Java

 package com.csharpcoderr.regex; import java.util.regex.Matcher; import java.util.regex.Pattern; public class IPAddressValidator < private Pattern pattern; private Matcher matcher; private static final String IPADDRESS_PATTERN = "^([01]?\d\d?|2[0-4]\d|25[0-5])\." + "([01]?\d\d?|2[0-4]\d|25[0-5])\." + "([01]?\d\d?|2[0-4]\d|25[0-5])\." + "([01]?\d\d?|2[0-4]\d|25[0-5])$"; public IPAddressValidator()< pattern = Pattern.compile(IPADDRESS_PATTERN); >/** * Validate ip address with regular expression * @param ip ip address for validation * @return true valid ip address, false invalid ip address */ public boolean validate(final String ip) < matcher = pattern.matcher(ip); return matcher.matches(); >> 

2. IP-адрес, который соответствует:

1. «1.1.1.1», «255.255.255.255», «192.168.1.1»,
2. «10.10.1.1», «132.254.111.10», «26.10.2.10»,
3. «127.0.0.1»

3. IP-адрес, который не совпадает:

1. «10.10.10» — должно иметь 4 «.»
2. «10.10» — должно иметь 4 «.»
3. «10» — должно иметь 4 «.»
4. «аааа» — разрешена только цифра
5. «10.0.0.a» — разрешена только цифра
6. «10.10.10.256» — цифра должна быть между [0-255]
7. «222.222.2.999» — цифра должна быть между [0-255]
8. «999.10.10.20» — цифра должна быть между [0-255]
9. «2222.22.22.22» — цифра должна быть между [0-255]
10. «22.2222.22.2» — цифра должна быть между [0-255]

ЧИТАТЬ ТАКЖЕ: Пример JPA-вставки + последовательности Oracle

4. Модульный тест

 package com.csharpcoderr.regex; import org.testng.Assert; import org.testng.annotations.*; /** * IPAddress validator Testing * @author mkyong * */ public class IPAddressValidatorTest < private IPAddressValidator ipAddressValidator; @BeforeClass public void initData()< ipAddressValidator = new IPAddressValidator(); >@DataProvider public Object[][] ValidIPAddressProvider() < return new Object[][]< new Object[] ,new Object[] , new Object[] ,new Object[] , new Object[] ,new Object[] , new Object[] >; > @DataProvider public Object[][] InvalidIPAddressProvider() < return new Object[][]< new Object[] ,new Object[] , new Object[] ,new Object[] , new Object[] ,new Object[] , new Object[] ,new Object[] , new Object[] ,new Object[] , new Object[] ,new Object[] , >; > @Test(dataProvider = "ValidIPAddressProvider") public void ValidIPAddressTest(String ip) < boolean valid = ipAddressValidator.validate(ip); System.out.println("IPAddress is valid : " + ip + " , " + valid); Assert.assertEquals(true, valid); >@Test(dataProvider = "InvalidIPAddressProvider", dependsOnMethods="ValidIPAddressTest") public void InValidIPAddressTest(String ip) < boolean valid = ipAddressValidator.validate(ip); System.out.println("IPAddress is valid : " + ip + " , " + valid); Assert.assertEquals(false, valid); >> 

5. Модульный тест — результат

 IPAddress is valid : 1.1.1.1 , true IPAddress is valid : 255.255.255.255 , true IPAddress is valid : 192.168.1.1 , true IPAddress is valid : 10.10.1.1 , true IPAddress is valid : 132.254.111.10 , true IPAddress is valid : 26.10.2.10 , true IPAddress is valid : 127.0.0.1 , true IPAddress is valid : 10.10.10 , false IPAddress is valid : 10.10 , false IPAddress is valid : 10 , false IPAddress is valid : a.a.a.a , false IPAddress is valid : 10.0.0.a , false IPAddress is valid : 10.10.10.256 , false IPAddress is valid : 222.222.2.999 , false IPAddress is valid : 999.10.10.20 , false IPAddress is valid : 2222.22.22.22 , false IPAddress is valid : 22.2222.22.2 , false PASSED: ValidIPAddressTest([Ljava.lang.String;@1d4c61c) PASSED: InValidIPAddressTest([Ljava.lang.String;@116471f) =============================================== com.csharpcoderr.regex.IPAddressValidatorTest Tests run: 2, Failures: 0, Skips: 0 =============================================== =============================================== mkyong Total tests run: 2, Failures: 0, Skips: 0 =============================================== 

Ссылка

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *