Регулярное выражение PHP для соответствия `name [50]` значениям "name" и "50" - PullRequest
0 голосов
/ 22 января 2011

Мне нужна дополнительная справка по регулярным выражениям для работы с функцией PHP preg_match. Мне нужно сопоставить следующие строки:

  • string[50]
  • string

В идеале возвращаемый массив должен выглядеть примерно так;

  • string, 50
  • string

Буду признателен за любую помощь :-) Это было то, что я придумал, но это не делает то, что я ожидал, с моим небольшим знанием регулярных выражений! /([a-z])+(\[[0-9]\])?/i

1 Ответ

1 голос
/ 22 января 2011

Вам нужно поместить + в () (в противном случае вы будете соответствовать полной строке, только последний символ строки будет в группе результатов).Также добавьте еще + после [0-9].Переместите \[\] за пределы (), чтобы вернуть только 50 (не [50]), и используйте (?:)?, чтобы сделать необязательный [50] необязательным, не указав группу.* Играй с ним по рублю

...