Appendix D. Рэгулярныя выразы
Рэгулярныя выразы (або, часам, рэгвыры), якія ўжываюцца ў пошуках і правілах сэгмэнтаваньня, гэта выразы, якія падтрымліваюцца Java. Калі патрабуюцца больш спэцыфічныя зьвесткі, зьвяртайцеся да “Java Regex documentation”. Дадатковыя спасылкі і прыклады гл. ніжэй.
Note
Гэты разьдзел — для дасьведчаных карыстальнікаў, якім патрабуецца вызначаць уласныя варыянты правілаў сэгмэнтаваньня або ўжываць у пошуках складаныя выразы.
Table D.1. Рэгулярны выраз — сьцягі.
| Канструктыўны элемэнт |
… адпавядае наступнаму |
| (?i) |
Ня ўлічваць рэгістар пры падборы адпаведнікаў (па змаўчаньні шаблён улічвае рэгістар). |
Table D.2. Рэгулярны выраз — сымбаль
| Канструктыўны элемэнт |
… адпавядае наступнаму |
| x |
Сымбаль x, за выключэньнем наступнага… |
| \uhhhh |
Сымбаль з шаснаццатковым значэньнем 0xhhhh |
| \t |
Сымбаль табуляцыі ('\u0009') |
| \n |
Сымбаль новага радка ('\u000A') |
| \r |
Сымбаль вяртаньня карэткі ('\u000D') |
| \f |
Сымбаль падачы блянка ('\u000C') |
| \a |
Сымбаль “званок” ('\u0007') |
| \e |
Сымбаль кіроўнай пасьлядоўнасьці ('\u001B') |
| \cx |
Кіроўны сымбаль, адпаведны x |
| \0n |
Сымбаль з васьмічным значэньнем 0n (0 <= n <= 7) |
| \0nn |
Сымбаль з васьмічным значэньнем 0nn (0 <= n <= 7) |
| \0mnn |
Сымбаль з васьмічным значэньнем 0mnn (0 <= m <= 3, 0 <= n <= 7) |
| \xhh |
Сымбаль з шаснаццатковым значэньнем 0xhh |
Table D.3. Рэгулярны выраз — цытаваньне
| Канструктыўны элемэнт |
… адпавядае наступнаму |
| \ |
Нічога, проста азначае наступны сымбаль. Гэта патрабуецца, каб увесьці літаральна адзін з мэта-сымбаляў !$()*+.<>?[\]^{|}. |
| \\ |
Напрыклад, гэта — сымбаль зваротнай косай рысы. |
| \Q |
Нічога, проста азначае ўсе сымбалі да \E. |
| \E |
Нічога, проста азначае канец цытаваньня, пачатага з \Q. |
Table D.4. Рэгулярны выраз — Клясы для блёкаў і катэгорыя Unicode
| Канструктыўны элемэнт |
… адпавядае наступнаму |
| \p{InGreek} |
Сымбаль з грэцкага блёку (просты блёк) |
| \p{Lu} |
Сымбаль у верхнім рэгістры (простая катэгорыя) |
| \p{Sc} |
Сымбаль валюты |
| \P{InGreek} |
Які заўгодна сымбаль ня з грэцкага блёку (адмаўленьне) |
| [\p{L}&&[^\p{Lu}]] |
Якая заўгодна літара ня ў верхнім рэгістры (адыманьне) |
Table D.5. Рэгулярны выраз — Клясы сымбаляў
| Канструктыўны элемэнт |
… адпавядае наступнаму |
| [abc] |
a, b або c (просты кляс) |
| [^abc] |
Які заўгодна сымбаль апроч a, b або c (адмаўленьне) |
| [a-zA-Z] |
Ад a да z або ад A да Z уключна (дыяпазон) |
Table D.6. Рэгулярны выраз — Вызначаныя клясы сымбаляў
| Канструктыўны элемэнт |
… адпавядае наступнаму |
| . |
Які заўгодна сымбаль (апроч канцоў радкоў) |
| \d |
Лічба: [0-9] |
| \D |
Ня лічба: [^0-9] |
| \s |
Прабельны сымбаль: [ \t\n\x0B\f\r] |
| \S |
Непрабельны сымбаль: [^\s] |
| \w |
Сымбаль у слове: [a-zA-Z_0-9] |
| \W |
Сымбаль ня ў слове: [^\w] |
Table D.7. Рэгулярны выраз — Вызначальнікі межаў
| Канструктыўны элемэнт |
… адпавядае наступнаму |
| ^ |
Пачатак радка |
| $ |
Канец радка |
| \b |
Мяжа слова |
| \B |
Мяжа няслова |
Table D.8. Рэгулярны выраз — Прагныя квантары
| Канструктыўны элемэнт |
… адпавядае наступнаму |
| X
?
|
X, адзін раз або ніколі |
| X
*
|
X, нуль або некалькі разоў |
| X
+
|
X, адзін або некалькі разоў |
Note
прагныя квантары адпавядаюць як мага большай пасьлядоўнасьці. Напрыклад, для
a+
будзе адпаведнікам aaa у
aaabbb
Table D.9. Рэгулярны выраз — Няпрагныя квантары
| Канструктыўны элемэнт |
… адпавядае наступнаму |
| X?? |
X, адзін раз або ніколі |
| X*? |
X, нуль або некалькі разоў |
| X+? |
X, адзін або некалькі разоў |
Note
няпрагныя квантары адпавядаюць як мага меншай пасьлядоўнасьці. Напрыклад, для
a+?
будзе адпаведнікам першае
a
у пасьлядоўнасьці
aaabbb
Table D.10. Рэгулярны выраз — Лягічныя апэратары
| Канструктыўны элемэнт |
… адпавядае наступнаму |
| XY |
X з Y за ім |
| X|Y |
Або X, або Y |
| (XY) |
XY як адзіная група |