Добрый день! Никак не могу сделать обычное регулярное выражение. Есть строка, допустим Код (Text): $string = "asdasdasd (A)SPORT.txt"; Нужно вытащить оттуда (A)SPORT.txt с расчетом, что в скобках может быть любая буква, а вместо SPORT любое слово. Сделал Код (Text): preg_match_all('/\([A-Z]\)*\.txt/',$string, $files); Не выводит ничего. Объясните, пожалуйста, в чем у меня ошибка. Заранее спасибо!
Попробуй так: Код (Text): $string = "asdasdasd (A)SPORT.txt\nasdasdasd (A)AUTO.txt"; preg_match_all('/\([A-Z]\)([A-Z]+).txt/,$string, $files); echo "<pre>"; var_dump($files[0]);
* спец. символ, квантификатор повторений, в вашей интерпретации ")" может повторяться 0 или более раз таким образом ваше рег. выражение должно найти совпадения в строке, вида Код (Text): $string = "asdasdasd (A)SPORT(A))))).txt"; для исправления вашего выражения необходимо добавить ".", вот так Код (Text): preg_match_all('/\([A-Z]\).*\.txt/',$string, $files);