Содержание
Что такое RegEx?
Регулярное выражение — это шаблон поиска для String. java.util.regex Классы для сопоставления последовательностей символов с шаблонами, заданными регулярными выражениями в Java.
Вы можете использовать Regex для:
- Поиск текста
- Извлечение текста
- Модификация текста
Давайте обсудим некоторый основной синтаксис:
Классы персонажей в Regex:
Классы регулярных выражений
|
1
2
3
4
5
6
7
|
, Точка , любой персонаж ( может или не может терминаторы линии совпадения , читай дальше )
/ д цифра : [ 0 — 9 ]
/ D не цифра : [ ^ 0 — 9 ]
/ с символ пробела : [ / t / n / x0B / f / r ]
/ S не — символ пробела: [ ^ / s ]
/ ш слово персонаж : [ a — zA — Z_0 — 9 ]
/ 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.
- Как разобрать результат команды uptime в Java
- Проверьте, заканчивается ли URL конкретным расширением
- Проверьте, присутствует ли действительный IP
- Regex's ReplaceAll () Пример
- Найти, если 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 .
==========================
ПЛА 123 — 45 — 6789 является действительный
ПЛА 123 — 456 — 789 является НЕ действительный
|
Как проверить надежность пароля с помощью кода Java?
Найти ниже моих условий:
|
1
2
3
4
5
6
|
# должен содержать одну цифру от 0 до 9
( ? = . * [ a — z ] ) сусло содержит один символы нижнего регистра
( ? = . * [ A — Z ] ) сусло содержит один прописные буквы
( ? = . * [ ! @ # $%]) должен содержать один специальный символ в списке ! @ # $%
, матч что-нибудь с предыдущий состояние проверка
{ 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. компилировать ( шаблон ) ;
Список
вход . добавить ( Crunchify ) ;
вход . add ( Crunchify123 # ) ;
вход . add ( crunchify123 # ) ;
вход . добавить ( хрустеть ** ) ;
вход . add ( Crunchify123 !! ) ;
за ( Строка пароль : вход ) {
Сличитель м знак равно т. совпадение ( пароль ) ;
если ( м . совпадений ( ) )
Система. вне. println ( Пароль: + пароль + «действителен» ) ;
еще
Система. вне. println ( Пароль: + пароль + «НЕ действует» ) ;
}
}
}
|
Результат:
|
1
2
3
4
5
|
Пароль : Хрустеть это НЕ действительный
Пароль : Crunchify123 # действителен
Пароль : crunchify123 # недействителен
Пароль : хрустеть * * является НЕ действительный
Пароль : Crunchify123 ! ! является действительный
|
0.00 (0%) 0 votes








