Я пытаюсь использовать regexp для синтаксического анализа строки поиска, которая время от времени может содержать специальный синтаксис. Синтаксис im ищет [специальное ключевое слово: значение], и я хочу, чтобы каждое совпадение помещалось в массив. Имейте в виду, что строка поиска будет содержать другой текст, который не предназначен для анализа.preg_match не возвращает ожидаемые результаты
$searchString = "[StartDate:2010-11-01][EndDate:2010-11-31]";
$specialKeywords = array();
preg_match("/\[{1}.+\:{1}.+\]{1}/", $searchString, $specialKeywords);
var_dump($specialKeywords);
Выход:
массив (1) {[0] => строка (43) "[StartDate: 2010-11-01] [EndDate: 2010-11-31]"}
Желаемая Выход:
массива (2) {[0] => строка() "[StartDate: 2010-11-01]"
[1] => строка() "[EndDate: 2010-11-01]"}
Пожалуйста, дайте мне знать, если я не достаточно ясно.
Квантификатор '{1} 'бесполезно. – Gumbo