Регулярний вираз (Regex) - це послідовність символів, які визначають схему пошуку. Ось як писати регулярні вирази:
- Почніть з розуміння спеціальних персонажів, що використовуються в регексі, таких як ". '*' '+' '?' і більше.
- Виберіть мову або інструмент програмування, який підтримує регекс, такий як Python Perl або Grep.
- Напишіть свій візерунок, використовуючи спеціальні символи та буквальні символи.
- Використовуйте відповідну функцію або метод для пошуку шаблону в рядку.
Приклади:
- Щоб відповідати послідовності буквальних символів, просто записуйте цих символів у візерунок.
- Щоб відповідати одному символу з набору можливостей, використовуйте квадратні дужки, наприклад [0123456789] відповідає будь -якій цифрі.
- Щоб відповідати нулю або більше випадків попереднього виразу, використовуйте символ зірки (*).
- Щоб відповідати одному або декількома випадками попереднього виразу, використовуйте символ плюс (+).
- Важливо зазначити, що Regex може бути складним і важко прочитати, тому рекомендується використовувати такі інструменти, як тестери Regex для налагодження та оптимізації ваших моделей.
Регулярний вираз (іноді його називають раціональним виразом) - це послідовність символів, які визначають шаблон пошуку, головним чином для використання у відповідності шаблону з рядками або відповідними рядками, тобто "знаходити та замінити" як операції. Регулярні вирази - це узагальнений спосіб відповідати шаблонам із послідовностями символів. Він використовується в кожній мові програмування, таких як C ++ Java та Python.
Що таке звичайний вираз і що робить його таким важливим?
Regex використовується в Google Analytics У відповідності URL -адрес у підтримці пошуку та заміни в найпопулярніших редакторах, таких як піднесені блокноти ++ дужки Google Docs та Microsoft Word.
java читання csv
Example : Regular expression for an email address :
^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{25})$
Наведений вище звичайний вираз може бути використаний для перевірки, чи заданий набір символів - це електронна адреса чи ні.
Як писати регулярні вирази?
Існують певні елементи, що використовуються для запису регулярних виразів, як зазначено нижче:
1. Repeaters (* + і {})
Ці символи виступають як ретранслятори і кажуть комп’ютеру, що попередній символ повинен використовуватися більше, ніж лише один раз.
2. Символ зірочки ( *)
Він каже, що комп'ютер відповідає попередньому символу (або набору символів) протягом 0 або більше разів (до нескінченного).
Example : The regular expression ab*c will give ac abc abbc abbbc….and so on 3. Символ плюс ( +)
Він повідомляє комп'ютеру повторити попередній символ (або набір символів) в принаймні один або кілька разів (до нескінченного).
Example : The regular expression ab+c will give abc abbc
abbbc … and so on.
4. Кучеряві брекети {…}
Він каже комп'ютеру повторити попередній символ (або набір символів) протягом стільки разів, як значення всередині цієї дужки.
Example : {2} means that the preceding character is to be repeated 2
times {min} means the preceding character is matches min or more
times. {minmax} means that the preceding character is repeated at
least min & at most max times.
5. Мілка (.)
Символ крапки може зайняти місце будь -якого іншого символу, тому його називають персонажем підстановки.
Example :
The Regular expression .* will tell the computer that any character
can be used any number of times.
6. Необов’язковий символ (?)
Цей символ повідомляє комп'ютеру, що попередній символ може бути або не бути присутнім у рядку, щоб відповідати.
Example :
We may write the format for document file as – docx?
The ‘?’ tells the computer that x may or may not be
present in the name of file format.
7. Символ карети ( ^) ( Встановлення позиції для матчу)
Символ Caret повідомляє комп'ютеру, що матч повинен починатися на початку рядка або рядка.
дорівнює методу java
Example : ^d{3} will match with patterns like '901' in '901-333-'.8. Символ долара ($)
Він повідомляє комп'ютеру, що матч повинен відбуватися в кінці рядка або перед n в кінці рядка або рядка.
Example : -d{3}$ will match with patterns like '-333' in '-901-333'.9. Класи персонажів
Клас персонажів відповідає будь -якому з набору символів. Він використовується для відповідності найосновнішому елементу мови, як буква в цифрі, простір символ тощо
s : відповідає будь -яким символам Whitpace, такими як простір та вкладка.
S : відповідає будь-якими символами, що не належать до розставки.
р. : відповідає будь -якому цифровому персонажу.
Д: відповідає будь-яким нецифітовим символам.
У : відповідає будь-якому символу слова (в основному альфа-нумеру)
У : відповідає будь-якому не слова символу.
б : відповідає будь-якій межі слова (це включатиме проміжні тире коми напівколонів тощо.
[set_of_characters]: Відповідає будь -якому одному символу в set_of_characters. За замовчуванням матч залежить від регістру.
Example : [abc] will match characters ab and c in any string.10. [^set_of_characters] Заперечення:
Відповідає будь -якому одному символу, який не знаходиться в set_of_characters. За замовчуванням матч залежить від регістру.
Example : [^abc] will match any character except abc .11. [Перший проліт] Діапазон символів:
Відповідає будь -якому одному символу в діапазоні від першого до останнього.
Example : [a-zA-z] will match any character from a to z or A to Z.12. Символ втечі ()
Якщо ви хочете відповідати фактичному "+" ".". Це скаже комп’ютеру трактувати наступний символ як символ пошуку та розглянути його для відповідної схеми.
Example : d+[+-x*]d+ will match patterns like '2+2'
and '3*9' in '(2+2) * 3*9'.
13. Групування символів ()
Набір різних символів регулярного виразу може бути згрупований, щоб діяти як єдина одиниця і поводитись як блок для цього, вам потрібно завершити регулярний вираз у дужках ().
Example : ([A-Z]w+) contains two different elements of the regular
expression combined together. This expression will match any pattern
containing uppercase letter followed by any character.
14. Вертикальна смуга (|)
Відповідає будь -якому одному елементу, розділеному символом вертикальної смуги (|).
Example : th(e|is|at) will match words - the this and that.15. Число
Backreference: Дозволяє ідентифікувати попередньо відповідну субекспресію (вираз, захоплений або укладений в кругових дужках) згодом у тому ж регулярному виразі. N означає, що група, закрита в N-ту, кронштейн, буде повторена в поточному положенні.
хеш-таблиця java
Example : ([a-z])1 will match ee in Geek because the character
at second position is same as character at position 1 of the match.
16. Як (?# Коментар)
Вбудований коментар: Коментар закінчується на першій закритої дужки.
Example : bA(?#This is an inline comment)w+b17. # [до кінця лінії]
Коментар X-Mode. Коментар починається з Unescaped # і продовжує кінець рядка.
Example : (?x)bAw+b#Matches words starting with A