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

По подразбиране на класа е заместващ характер началото на реда (^) съвпада с началото на обработваните данни (ако не използвате модификатори). Вътре класов характер (^) има съвсем различно значение.

Метасимволът началото на низ (^), не е необходимо да бъде първият знак на модела, ако редица алтернативи са използвани в шаблона, но трябва да е първият знак на всяка алтернатива, в която се появява, ако моделът е някога да съвпада с този бранш. Ако всички възможни алтернативи започват с сложно низ (^), а след това на модела е ограничен да съвпадат само в началото на линията, като каза, че "закотвен" модел. (Има и други начини да "котва" модел).

Съответните метасимволът край на линията (знака за долар, $) може да се постигне само в края на линията, или точно преди последния знак, ако тя е за нов ред (ако модификатори не са посочени). Метасимволът край на ред ($) не е необходимо да бъде последният характер на модела, ако използвате няколко алтернативи, но трябва да бъде последния знак във всяка алтернатива, в която се появява. Вътре класов характер # "$ #" Няма специално значение.

Поведение край метасимвол на линията може да бъде променена с помощта PCRE_DOLLAR_ENDONLY модификатор така че да съответства на края на само една линия. Този флаг не се отразява на специална последователност \ Z.

Значение метасимволите начало и край на линията се променя, ако се използва модификатора PCRE_MULTILINE. В този случай, в допълнение към съвпадението в началото или в края на ред метасимволите # # "И # "$ # 'Съответства на позицията, веднага след" \ Н "нов ред. Така например, модел / ^ абв $ / съвпада с предмет низа "Def \ звършва" в многоредов режим и не се развива при нормална работа. По този начин, на модела, който е "закотвен" в един режим, всички клонове, които започват с "^" няма да са "закотвени" в многоредов режим. PCRE_DOLLAR_ENDONLY модификатор се игнорира, ако модификатора е настроен PCRE_MULTILINE.

Трябва да се отбележи, че Z последователности \ А \ Z и \ може да бъде използван за сравнение с началото или в края на линията в двата режима. И ако всички клонове него започват с \ А, шаблона ще бъдат "закотвени" независимо PCRE_MULTILINE е настроен.

Предоставени от потребители Бележки 1 бележка

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

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