12. Регуларни изрази¶
12.1. Директива regex-check
¶
Директива regex-check
је корисна када се објашњавају регуларни изрази. Она се састоји од два
текстуална поља и два дугмета. У горње текстуално поље корисник (полазник курса) уноси регуларан
израз, а у доњем се налази текст на коме ће бити примењен унети регуларан израз.
На дугме Show result
се добија очекивано/тражено означавање текста, које треба постићи уношењем
регуларног израза. На дугме Test answer
се добија порука да ли је унети регуларан израз
поклопио тачно оне делове текста које је и требало поклопити.
Приликом писања Директиве regex-check
, користе се следећи параметри:
Параметром :solution: задаје се један регуларан израз који доводи до исправног решења.
Параметром :initregex: задаје се почетна вредност за унети регуларан израз (горње, мање поље)
Параметар :editable: је опциони и означава да корисник може да мења и текст у доњем пољу.
Параметром :flags: задаје се начин на који се примењује регуларан израз, на пример:
флег
i
задаје да се не разликују мала и велика слова (case insensitive), …флег
g
задаје да се траже сва појављивања, а не само првофлег
m
задаје да се претражује виђе редова текста. У том случају, у рег. изразима могу да се користе и ознаке^
и$
флег
s
задаје да.
поклапа и карактер за прелаз у нови ред.флег
u
омогућава подршку за јуникод (Unicode).флег
y
лепљиви (sticky) мод омогућава тражење на тачно одређеној позицији
Пример: написати регуларан израз, који проналази све бројеве (низове цифара) у тексту.
reST кôд:
.. regex-check:: re_id_brojevi
:flags: gm
:solution: \d+
:initregex: \d+
:editable:
Проналази се сваки низ од једне (1) или више (n) цифара. На пример,
Број 183 ће бити нађен, а бројеви "два" и "XIX" неће.
Изглед компоненте: