strrpos(PHP 3, PHP 4) strrpos - находит позицию последнего вхождения char в строке. Описаниеint strrpos (string haystack, char needle) Возвращает числовую позицию последнего вхождения needle в строке haystack. Обратите внимание, что needle в этом случае может быть только одиночным символом. Если строка передаётся как needle, то будет использоваться только первый символ такой строки. Если needle не найден, возвращает FALSE.
Если needle не строка, он конвертируется в integer и применяется как порядковое значение символа. См. также strpos(), strrchr(), substr(), stristr() и strstr(). |
||||||||||
|
||||||||||
Первая часть совпадает с необязательной открывающей скобкой, и, если символ
имеется, устанавливает его как первую совпавшую подстроку.
Вторая часть совпадает с одним или более символов, которые не являются скобками.
Третья часть это условный субпатэрн, который проверяет, совпадает ли первый
набор скобок или нет. Если совпал, то есть если субъект начинается с открывающей
скобки, условие будет TRUE, будет выполняться yes-pattern и
необходима закрывающая скобка. Иначе, поскольку no-pattern отсутствует, субпатэрн
не совпадёт ни с чем. Другими словами, этот патэрн совпадает с последовательностью
не-скобок, возможно, заключённой в скобки.
Если условие не является последовательностью цифр, оно обязано быть утверждением.
Это может быть положительное или отрицательное lookahead или lookbehind утверждение.
Рассмотри патэрн, снова содержащий незначащий пробел и две альтернативы во второй
строчке:
(?(?=[^a-z]*[a-z])
\d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} )
Условие это положительное опережающее/lookahead утверждение, которое совпадает
с необязательной последовательностью не-букв с последующей буквой. Другими словами,
оно проверяет наличие минимум одной буквы в субъекте. Если буква найдена, вновь
проверяется совпадение субъекта с первой альтернативой; иначе проверяется совпадение
со второй альтернативой. Этот патэрн совпадает со строками одной из двух форм:
dd-aaa-dd или dd-dd-dd, где aaa это буквы, а dd это цифры.
| |