Домой Учебники по Java и J2EE Что такое шаблон RegEx (регулярное выражение)? Как использовать это в Java? Пример...

Что такое шаблон RegEx (регулярное выражение)? Как использовать это в Java? Пример прилагается

799
0

Что такое RegEx?

Регулярное выражение — это шаблон поиска для String. java.util.regex Классы для сопоставления последовательностей символов с шаблонами, заданными регулярными выражениями в Java.

Вы можете использовать Regex для:

  • Поиск текста
  • Извлечение текста
  • Модификация текста

Давайте обсудим некоторый основной синтаксис:

Классы персонажей в Regex:

Классы регулярных выражений

1
2
3
4
5
6
7
,    Точка , любой персонаж ( может или не может терминаторы линии совпадения , читай дальше )
/ д    цифра : [ 09 ]
/ D    не цифра : [ ^ 09 ]
/ с    символ пробела : [ / t / n / x0B / f / r ]
/ S    несимвол пробела: [ ^ / s ]
/ ш    слово персонаж : [ azAZ_09 ]
/ W    не слово персонаж : [ ^ / w ]

Квантификаторы в регулярных выражениях:

Regex Quantifiers

1
2
3
4
5
6
*        Матч 0 или же Больше раз
+        Матч 1 или же Больше раз
?        Матч 1 или же 0 раз
{ n }      Матч именно так N раз
{ п , }    Матч в наименее N раз
{ п , м }    Подходим хотя бы N но не больше чем м раз

Java Split также пример Regex .

Мета-символы в регулярных выражениях:

Метасимволы Regex

1
2
3
4
5
6
7
/    Побег следующий метасимвол (Она становится нормальный / буквальный характер )
^    Сопоставьте начало строки
,    Подходим любой персонаж ( кроме новой строки )
$    Сопоставьте конец линии ( или перед символом перевода строки в конце)
|    перемежаемость ( ' или ' заявление )
( )    группирование
[ ]    Пользовательский класс персонажа

Давайте начнем работать на примере. В приведенном ниже примере мы рассмотрим 5 различных примеров Regex.

  1. Как разобрать результат команды uptime в Java
  2. Проверьте, заканчивается ли URL конкретным расширением
  3. Проверьте, присутствует ли действительный IP
  4. Regex's ReplaceAll () Пример
  5. Найти, если SSN действителен
CrunchifyRegexTutorial.java

Джава
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
пакет crunchify. ком . учебник ;
Импортировать Java. Util. регулярное выражение. Matcher ;
Импортировать Java. Util. регулярное выражение. Образец ;
/ **
* @author Crunchify.com
*
* /
общественности учебный класс CrunchifyRegexTutorial {
общественности статический недействительным main ( Строка [ ] аргументы ) {
crunchifyLoadAndAverageRegex ( ) ;
Система. вне. println ( / n ========================== / n ) ;
crunchifyFindUrlPattern ( ) ;
Система. вне. println ( / n ========================== / n ) ;
crunchifyFindIPMatcher ( ) ;
Система. вне. println ( / n ========================== / n ) ;
crunchifyRegexReplaceAllExample ( ) ;
Система. вне. println ( / n ========================== / n ) ;
crunchifyValidateSSN ( ) ;
}
// Найти действительный SSN
частный статический недействительным crunchifyValidateSSN ( ) {
строка ssn1 знак равно 123-45-6789 ;
строка ssn2 знак равно 123-456-789 ;
строка шаблон знак равно ^ (// d {3} -? // d {2} -? // d {4}) $ ;
если ( ssn1 . совпадения ( шаблон ) ) {
Система. вне. println ( SSN + ssn1 + «действителен» ) ;
} еще {
Система. вне. println ( SSN + ssn1 + «НЕ действует» ) ;
}
если ( ssn2 . соответствует ( шаблон ) ) {
Система. вне. println ( SSN + ssn2 + «действителен» ) ;
} еще {
Система. вне. println ( SSN + ssn2 + «НЕ действует» ) ;
}
}
// ReplaceAll () Пример
частный статический недействительным crunchifyRegexReplaceAllExample ( ) {
строка находить знак равно Ява ;
строка линия знак равно Это Crunchify.com Java Tutorial. ;
строка замещать знак равно «Весна MVC» ;
Шаблон п знак равно Pattern. компилировать ( найти ) ;
Сличитель м знак равно стр . совпадение ( строка ) ;
// Эта строка найдет «Java» и заменит ее на «Spring MVC»
линия знак равно м. заменить все ( заменить ) ;
Система. вне. println ( строка ) ;
}
// Проверяем наличие действующего IP
частный статический недействительным crunchifyFindIPMatcher ( ) {
Шаблон validIPPattern знак равно Pattern. compile ( ^ (?: [0-9] {1,3} //.) {3} [0-9] {1,3} $ ) ;
Система. вне. println ( 192.abc.0.1: + validIPPattern . matcher ( 192.abc.0.1 ) . найти ( ) ) ;
Система. вне. println ( 192.168.0.1: + validIPPattern . совпадение ( 192.168.0.1 ) . найти ( ) ) ;
}
// Проверяем, заканчивается ли URL конкретным расширением
частный статический недействительным crunchifyFindUrlPattern ( ) {
строка шаблон знак равно . * //. (ico | jpg | png | gif | tif | bmp | JPG | PNG | GIF | TIF | BMP) ;
Шаблон р знак равно Pattern. компилировать ( шаблон ) ;
Сличитель м знак равно т. matcher ( https://cdn.crunchify.com/favicon.ico ) ;
если ( м . найти ( ) ) {
Система. вне. println ( «Найден шаблон URL» ) ;
} еще {
Система. вне. println ( «шаблон URL не найден» ) ;
}
}
// Как разобрать результат команды uptime в Java
общественности статический недействительным crunchifyLoadAndAverageRegex ( ) {
Шаблон uptimePattern знак равно Pattern. компилировать ( ^. * // s + load // s + средний: // s + ([// d //.] +), // s + ([// d //.] +), // s + ([//d//.]+)$ ) ;
строка выход знак равно «10:17:32 до 189 дней, 18:49, 5 пользователей, средняя загрузка: 2,07, 1,11, 1,16» ;
Сличитель м знак равно uptimePattern . согласователь ( выход ) ;
если ( м . совпадений ( ) ) {
окончательный двойной crunchify1MinuteLoadAvg знак равно Двойной . parseDouble ( m . group ( 1 ) ) ;
окончательный двойной crunchify5eMinuteloadAvg знак равно Двойной . parseDouble ( m . group ( 2 ) ) ;
окончательный двойной crunchify15MinuteLoadAvg знак равно Двойной . parseDouble ( m . group ( 3 ) ) ;
Система. вне. println ( «Средняя загрузка 1 мин:» + crunchify1MinuteLoadAvg ) ;
Система. вне. println ( Загрузка в среднем за 5 минут: + crunchify5eMinuteloadAvg ) ;
Система. вне. println ( «Средняя загрузка 15 мин:» + crunchify15MinuteLoadAvg ) ;
} еще {
Система. вне. println ( «совпадений не найдено» ) ;
}
}
}

Выход:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Средняя нагрузка 1 мин : 2,07
Средняя нагрузка 5 мин : 1,11
Средняя нагрузка 15 мин : 1,16
==========================
Шаблон URL найден
==========================
192.abc.0.1 : ложный
192.168.0.1 : правда
==========================
это является Crunchify. COM Spring MVC Tutorial .
==========================
ПЛА 123456789 является действительный
ПЛА 123456789 является НЕ действительный

Как проверить надежность пароля с помощью кода Java?

Найти ниже моих условий:

1
2
3
4
5
6
# должен содержать одну цифру от 0 до 9
( ? = . * [ az ] ) сусло содержит один символы нижнего регистра
( ? = . * [ AZ ] ) сусло содержит один прописные буквы
( ? = . * [ ! @ # $%]) должен содержать один специальный символ в списке ! @ # $%
, матч что-нибудь с предыдущий состояние проверка
{ 8 , 25 } длина как минимум 8 персонажи и максимум 25

CrunchifyPasswordVerification.java

CrunchifyPasswordVerification.java

Джава
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
пакет crunchify. ком . учебник ;
Импортировать Java. Util. ArrayList ;
Импортировать Java. Util. Список ;
Импортировать Java. Util. регулярное выражение. Matcher ;
Импортировать Java. Util. регулярное выражение. Образец ;
/ **
* @author Crunchify.com
*
* /
общественности учебный класс CrunchifyPasswordVerification {
общественности статический недействительным main ( Строка [ ] аргументы ) {
строка шаблон знак равно ((? =. * [@! # $%]) (? =. * [AZ]) (? =. * [AZ]) (? =. * // d). {8,22}) ;
Шаблон р знак равно Pattern. компилировать ( шаблон ) ;
Список вход знак равно новый ArrayList ( ) ;
вход . добавить ( Crunchify ) ;
вход . add ( Crunchify123 # ) ;
вход . add ( crunchify123 # ) ;
вход . добавить ( хрустеть ** ) ;
вход . add ( Crunchify123 !! ) ;
за ( Строка пароль : вход ) {
Сличитель м знак равно т. совпадение ( пароль ) ;
если ( м . совпадений ( ) )
Система. вне. println ( Пароль: + пароль + «действителен» ) ;
еще
Система. вне. println ( Пароль: + пароль + «НЕ действует» ) ;
}
}
}

Результат:

1
2
3
4
5
Пароль : Хрустеть это НЕ действительный
Пароль : Crunchify123 # действителен
Пароль : crunchify123 # недействителен
Пароль : хрустеть * *    является НЕ действительный
Пароль : Crunchify123 ! ! является действительный
Что такое шаблон RegEx (регулярное выражение)? Как использовать это в Java? Пример прилагается

0.00 (0%) 0 votes

ЧИТАТЬ ТАКЖЕ:  Вы заметили исключение java.lang.NullPointerException (NPE)? 8 лучших практик, чтобы избежать выполнения NPE во время выполнения в Java

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь