ПредишенСледващото

Има два вида quantifiers, които се образуват чрез добавяне на суфикса? (Слабо или непълна съвпадение) или + ( "алчни", или притежават съвпадение) към горните quantifiers. Непълно съвпадение съответства на избора с възможно най-малко броя на знаците, както и собствената си - с най-високата възможна.

KlassPatternispolzuetsya за изчистени линии за преработка. За по-сложни технологични линии, използвани klassMatcher обсъдени по-долу.

Класът Модела съобщиха от следните методи:

Matchermatcher (CharSequenceinput) - връща Matcher.
с които можете да намерите в мач входния низ.

Stringpattern () - връща низ, съответстващ на модела.

String [] разделяне (CharSequenceinput) - разделя входния низ. Имайки предвид, че сепаратора е шаблон.

Използвайки метода на мача () Модела клас могат да бъдат проверени за съответствие с цял линеен модел, но ако това е необходимо да се намери съвпадение на низ в рамките на, например, се идентифицират части, които съответстват на модела, класа на Модела не могат да бъдат използвани. За такива операции, трябва да използвате класа Matcher.

първоначалното състояние тип Matcher обект не е определен. Опитвайки се да се обадя по ДДС всеки метод, клас, за да се получи информация относно намира под ще доведе до грешки IllegalStateException. За да започнете с пасването на обекта. трябва да се обадите един от нейните методи:

booleanmatches () - проверява дали цялата модел линия;

booleanlookingAt () - се опитва да намери последователност от символи, които започват с началото на линията и съответното шаблон;

booleanfind () или booleanfind (intstart) - се опитва да намери поредица от символи, които съответстват на модела навсякъде по ред. Параметърът за начало показва началото на търсенето.

Понякога е необходимо да се нулира за съотнасяне "и в оригинала, за да го прилага метода на нулиране () или нулиране (CharSequenceinput). което също поставя нов поредица от символи, да се търси.

За да замените всички знаци последователности удовлетворяващо модел на дадена линия може да бъде приложен метод replaceAll (String
подмяна).

За да се ограничат граници търсене входна последователност прилага регион (intstart, възнамерявам) метод. и за получаване на стойности на тези граници - regionEnd () и regionStart (). няколко методи, свързани с региона:

MatcheruseAnchoringBounds (booleanb) - Ако е вярно. в началото и края на региона отговарят на героите ^ и $, съответно.

booleanhasAnchoringBounds () - проверка на херметичността на границите.

Регулярният израз за по-удобно боравене входната последователност след нанасяне група, които ви помогне да идентифицирате части намери последователност. В шаблона, те са посочени от скоби "(" и ")". номера Група започват с един. Нулева група съвпада с целия подпоследователност намерен. По-долу са методи за извличане на информация за групи.

възнамерявам () - връща индекса на последния знак на подпоследователност задоволяване модел;

възнамерявам (intgroup) - връща индекса на последния знак в определена група;

Stringgroup () - връща всички Подпоследователност задоволяване модел;

intgroupCount () - връща броя групи;

intstart () - връща индекса на първия знак от подпоследователност задоволяване модел;

intstart (intgroup) - връща индекса на първия символ на споменатата група;

booleanhitEnd () - връща вярно, ако края е изработен от входната последователност.

Следният пример показва как можете да използвате класовете и възможности Модела за съотнасяне да търсите, анализ и разбивка редове.

publicclass DemoRegular

publicstaticvoid основни (String [] опцията)

// проверка за модел съвпадение низ

Модела p1 = Pattern.compile ( "а + у");

Matcher m1 = p1.matcher ( "aaay");

булева б = m1.matches ();

// намерите и изберете подниз определен шаблон

Модела p2 = Pattern.compile (регулярен);

Matcher m2 = p2.matcher (и);

// сплит линия в поднизове с използване на схема като разделител

Модела p3 = Pattern.compile ( "\\ г + \\ а?");

p3.split ( "java5tiger 77 java6mustang");

за (String дума. думи)

Ще се покаже резултат:

Първа група: abdcxyz

В първия случай, първата група включва всички възможни символи, но това е минималният брой символи за втората група.

Във втория случай, за първата група е избран най-малък брой символи, т. Слаба използва да съответства ..

В третия случай, първата група ще съвпадат с целия низ, а вторият не е еднократен характер, като втората група използва слаб мач.

В четвъртия случай на низа не съвпада с регулярния израз, т.е.. К. Двете групи се избират най-малък брой знаци.

Два полезни методи за подмяна на последователности, намерени в входния низ, е декларирано в класа на Matcher.

подмяна) - метод чете символи от входния отпадъчните води и ги добавя към SB. спирки четене в началото () - 1 позиция на предишното мача след това се извършва в допълнение SB подмяна низ. Следващият път, когато се обадите на този метод, за да добавите герои направени, като се започне с характера на индекс край () на предишното съвпадение.

StringBufferappendTail (StringBuffersb) - добавяне на остатъка от символите на входната последователност в SB. Обикновено, използвана в метода на една или повече повиквания appendReplacement ().

Свързани статии

Подкрепете проекта - споделете линка, благодаря!