Вопрос PHP строк - PullRequest
       1

Вопрос PHP строк

3 голосов
/ 21 июня 2011

Я знаю, что это глупый вопрос, но я хочу знать, что означает значение в простых терминах для каждой последовательности ниже.

\[0-7]{1,3} 

последовательность символов, соответствующих регулярному выражению, является символом в восьмеричной записи

\x[0-9A-Fa-f]{1,2}

последовательность символов, соответствующая регулярному выражению, представляет собой символ в шестнадцатеричной записи

Ответы [ 3 ]

4 голосов
/ 21 июня 2011

Это означает, что если у вас есть строка типа "foo bar \041", \041 будет рассматриваться как восьмеричное представление символа. Аналогично для шестнадцатеричной последовательности.

Регулярные выражения определяют структуру, которой должны следовать последовательности символов, чтобы их можно было интерпретировать как восьмеричное или шестнадцатеричное представление:

  • Для восьмеричного: косая черта \, за которой следуют от одной до трех цифр от 0 до 7.
  • Для шестнадцатеричного символа: косая черта \, за которой следует x, за которым следуют один или два символа, которые могут быть либо цифрами, либо прописными, либо строчными буквами.

Взгляните на таблицу ASCII , чтобы увидеть восьмеричный и шестнадцатеричный эквивалент каждого символа.

Например:

echo "\064\062"; // echos 42

В шестнадцатеричном формате:

echo "\x52\x50";
2 голосов
/ 21 июня 2011

Эти два регулярных выражения определяют способ форматирования числа.[0-7] означает, что разрешены все цифры от нуля до семи, а {1,3} после него означает, что между этими цифрами может быть от одной до трех.

Аналогично во втором регулярном выражении, [0-9A-Fa-f] означает все цифры от нуля до девяти, все заглавные буквы между A и F и все строчные буквы между a и f.{1,2} означает, что должны быть одна или две цифры / буквы.

0 голосов
/ 21 июня 2011

есть проблема с вашим регулярным выражением, оно не будет проверять строку должным образом, потому что у вас нет ^ в начале и $ в конце, но не обращайте на это внимания.один -

match range 0-7 one 1 to 3 charcters

второй -

match range 0-9 AND A-F (capital) AND a-f(small) 1 to 2 charcters 

Возможно, х во втором - ошибка ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...