Аргерих Л. О языке РНР. Часть 2. Страница 25


• "[[:alnum:]]" соответствует любой строке, содержащей буквенно-цифро­вые символы, отвечающие национальным установкам. Для английского языка это эквивалентно выражению "[a-zA-Z_0-9]".

•"[[:digit:]]" соответствует любой строке, содержащей цифры. Эквива­лентное регулярное выражение -

•"[[:alpha: ]]" соответствует любым строкам, содержащим знаки алфави­та, отвечающего национальным установкам. Эквивалентное регулярное выражение для английского языка - "[a-zA-Z]".

Последовательность нескольких символов, входящая в выражение в квад­ратных скобках и заключенная между [ и ". ]" образует отдельный эле­мент. Такая последовательность представляет один элемент в списке выра­жения в квадратных скобках. Поэтому выражение в квадратных скобках, содержащее многосимвольный элемент, может соответствовать нескольким символам. Например, если в последовательности есть элемент ch, то регу­лярное выражение " [ [. ch. ] ] *с" соответствует первым пяти символам chchcc.

В выражении в квадратных скобках элемент, заключенный между и "=]" представляет собой класс эквивалентности (equivalence class), обознача­ющий последовательности символов всех элементов, эквивалентных данно­му, включая самого себя. (Если других эквивалентных сопоставляемых эле­ментов нет, действие такое же, как если бы разделителями были "[." и ". ]".) Например, если о и принадлежат классу эквивалентности, то "[[=о=]]", [[="=]]" и "[о"]" представляют собой синонимы.

Дополнительную информацию можно получить на man/manl 860.htm/.

Создание регулярного выражения

Создадим регулярное выражение, соответствующее денежной сумме: 10000 10,000 10000.00 10,000.00

Все эти форматы допустимы; кроме того, допустимой суммой должен быть ноль. Число должно удовлетворять следующим критериям:

♦ Оно должно быть 0 или любым числом, начинающимся не с нуля

♦ После десятичной точки может быть не более двух цифр

♦ Значение может быть отрицательным

♦ В числе могут присутствовать запятые

Будем создавать регулярное выражение по шагам. Строка может выглядеть как «О»:

"~0$"

Допустимо любое число, начинающееся не с нуля: "~[1-9][0-9]*$"

Символ " означает, что строка должна начинаться с элемента, который непо­средственно следует за ним. То есть в данном случае строка должна начи­наться с цифр от 1 до 9. За [0-9] следует *, что означает возможность вхожде­ния в строку нуля или более символов. Таким образом, [0-9] * воспринимает­ся как любое количество цифр (и как их отсутствие). Наконец, $ означает, что строка должна оканчиваться этим элементом.




Сегодня каждая уважающая себя компания должна иметь колл-центр. Тем более, что компания forte-it.ru готова проработать для вас самый оптимальный вариант, который поможет вашему бизнесу.