|
|
Опубліковано 18.06.2019 21:38:16
|
|
|

Цей допис востаннє редагувався Kongcicada 18.06.2019 21:39
Передмова Під час співвідбору даних, кваліфікації правил і аналізу краулера в проєкті ми використовуємо регулярні вирази. Нижче наведено підсумок базових знань про регулярність, усі з яких є навчальними конспектами з ранніх років.
Текст
#Основи регулярних виразів
. Представляє будь-який окремий символ, окрім \n
[ ] Фільтрація символів
[^] Еквівалент non
| означає або
() Змінити пріоритет операції.
* квалифікатор, який вказує, що попередній вираз зустрічається 0 або більше разів.
+ уточнення, що означає, що попередній вираз має з'являтися 1 або більше разів. Він має з'являтися хоча б раз.
? уточнення, що означає, що попередній вираз має з'являтися 0 або 1 раз.
{n} квалифікатора, який кваліфікує вираз, що передує йому, повинен зустрічатися n разів.
{n,} квалифікатора, який кваліфікує попередній вираз як принаймні n разів.
{n,m} квалифікатора, який кваліфікує попередній вираз так, щоб він зустрічався щонайменше n разів і не більше m разів.
^ $ — це початок і кінець рядка
\d еквівалентна [0-9]
\D еквівалентна [^0-9]
\s позначає всі ті пробіли, які є невидимими
\S — це всі символи, крім \s.
\w позначає [0-9a-zA-Z_]
\w — це всі інші персонажі, крім \w.
\b позначає межу слова. (Assert, лише суддя, невідповідність.) )
=================================================
. Представляє будь-який окремий символ, окрім \n
a.b
a,b
=========================================
[ ] Фільтрація символів
a[0-9]b
a[a-z]b
a[0-9a-zA-Z]b
A1B
AXB
aAb
a[^0-9]b означає, що між a і b може з'являтися лише будь-який символ, окрім 0123456789.
a[^0-9a-z]b
=====================================================
| означає або
z|їжа через має дуже низький пріоритет, тому цей вираз може співпадати з Z або їжею. Цей вираз не відповідає Zood
(z|f)ood означає zood або їжа
===========================================
() Змінити пріоритет операції.
Група екстракції.
=======================================
* квалифікатор, який вказує, що попередній вираз зустрічається 0 або більше разів.
Зоо* означає зо зоо зуоо
(zoo)* означає zoozoo.......
a.*b означає AB AADDDDB AFJDSKLF%$#@dsklfjdsklfjdsklfjb
================================================
+ уточнення, що означає, що попередній вираз має з'являтися 1 або більше разів. Він має з'являтися хоча б раз.
a.+b
a9dfjsakl3824urnj324239feb
==================================================
? уточнення, що означає, що попередній вираз має з'являтися 0 або 1 раз.
a.? b
AB
AXB
? Ще одна функція — «припинити режим жадібності». Регулярні вирази за замовчуванням увімкнені в режим жадібності.
======================================================================
a[0-9]+b
a0b
a00b
a09b
a99999999999999999999b
========================== інших кваліфікованих =====================
{n} квалифікатора, який кваліфікує вираз, що передує йому, повинен зустрічатися n разів.
a[0-9]{10}b
a1234567899b
======================
{n,} квалифікатора, який кваліфікує попередній вираз як принаймні n разів.
1[a-z]{3,}2
1axffdsafdsafdasfdsafdsfdsafdsfdsa2
========================================
{n,m} квалифікатора, який кваліфікує попередній вираз так, щоб він зустрічався щонайменше n разів і не більше m разів.
a[0-9]{3,7}b
a0000000b
===========================================
^ позначає початок рядка
$ позначає кінець нитки.
^ і $ позначають дві особливості струни. Одна позначає початкову ознаку, а інша — кінець
^abc.*xyz$ ^abc122345xyz$
^abcdefg$ ^abcdefg
fdsfdsfxyz xyz$
===========================================
a[0-9]b
a\db
\dЕквівалент [0-9]
Цифрові
\D [^0-9]
\s позначає всі ці пробіли, невидимі символи
a\s*b
AB
a
b
\S — це всі символи, крім \s.
=================================================
\w [0-9a-zA-Z_]
слово означає слово «характер».
\w — це всі інші персонажі, крім \w.
\b позначає межу слова. (Assert, лише суддя, невідповідність.) )
============================================
.
Наступні методи можуть вказувати, що між пресом з'являється будь-який окремий символ.
a[\s\S]b
a[\d\D]b
a[\w\W]b
#Реальні бої
1: Створити новий консольний додаток
2: Вставте наступний код, ви можете тестувати модуль за модулем
Епілог
Онлайн-тест регулярного вираження Вхід за гіперпосиланням видно.
|
Попередній:MySQL Як змінити пароль кореневого користувачаНаступний:Java Reactor — Реорганізуйте свій код Java
|