..
Веома често програмери су у позицији да морате да парсира низове карактера.
Типичан случај је када обрада текста уноси корисник претрага - и на крају елиминисати - одређене знакове.
Да би се поједноставио овај и друге врсте активности, чини се да веома корисне тзв регуларне изразе.
Регуларни израз се састоји од "апстрактни модел" стринг који се користи за прављење поређења, како би се уверили да испуњава низ односу одређених форматирање услове. То такође могу да користе регуларне изразе да издвоји или да замени делове текста.
Хајде да видимо пример за циљ да покаже како су ови изрази. Помоћу Висуал Студио Ми стварамо једноставне конзоли апликације (коју зовемо ТестРегЕкп) која узима два објекта типа низ као улаз и одређује да ли прву од њих (регуларни израз) одговара по секунди или мање. Треба да буду укључени у именском простору Систем.Тект.РегуларЕкпрессионс и да упоређивање користећи статички Систем.Тект.РегуларЕкпрессионс.Регек.ИсМатцх
користећи Систем.Тект.РегуларЕкпрессионс;
Именски простор ТестРегЕкп
{
ЦлассеТест класе
{
статиц воид маин (Стринг [] аргс)
{
ако је (Регек.ИсМатцх (аргс [1], аргс [0]))
Цонсоле.ВритеЛине ("улаз у формату сету.");
друго
Цонсоле.ВритеЛине ("улаз не поштује формату наведене .");}}}
У овом тренутку, ми извршавају апликације као први параметар и доноси регуларни израз "^ \ д {5} $" (ми ћемо ускоро видети значење симбола питања), а друго као стринг "1234" или "12345". Излаз примене у случају стринга "1234" треба да буде "улаз не поштује формату наведене.", Док је у случају "12345", улаз у формату сету. "
Ц: \ ВИНДОВС> ТестРегЕкп ^ \ д {5} $ 1234
Улаз не поштује дефинисан формат.
Ц: \ ВИНДОВС> ТестРегЕкп ^ \ д {5} $ 12345
Улаз у формату сету.
То је зато што, као што сте већ схватили, метод ИсМатцх пореди регуларни израз са стринг и враћа Булова вредност ТРУЕ ако је формат диктира први гледано са друге, лажне другачије.
У горњем примеру регуларни израз "^ \ д {5} $" указује на то да мора ниску која се процењује бити тачно 5 бројева (у ствари, поређење са "1234" враћа Фалсе).
Прецизније карактер "^" представља почетак ниске, "\ д" указује на то да мора бити нумеричке знакове, "{5}" означава дужину стринга и "$" представља крај низа. Ако уклоните карактер "^" значење регуларних израза ће дубоко променити. У ствари, израз \ Д {5} $ ће увек захтевати присуство пет бројева у низу, али и потврди ниску "абцд12345" или "циаоциао12345", јер њено значење је "стринг који се завршава са пет узастопних бројева."
Добро правило да прате је да увек ставите знак "^" на почетку регуларни израз и карактер "$" на крају истог. Овај аранжман осигурава да мора улаз тачно одговара регуларном изразу, а не само садрже компатибилан са истим ликовима.
| |
АСП (Адванцед)
Цео курс за креирање динамичких веб сајтова. Од 39 €. |
| |
АСП.НЕТ (курс)
Цео курс за изградњу Веб апликације од 49 €. |
| |
МС Аццесс (Адванцед)
Сазнајте како да направите и управљање базама података брзо и лако. Полазећи од 29 €. |