Я хочу показать функцию php с регулярным выражением в фрагменте кода, используя пакет lstlisting. TeX выдает мне несколько ошибок: « Inputen пакета c Ошибка: неверная последовательность байтов UTF-8 », и знак доллара, похоже, переводит мой текстовый код в математический режим. Весь документ в кодировке UTF-8. Любые идеи, как правильно работать с этими специальными символами в списке? Спасибо.
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{listings}
\begin{lstlisting}[language=php,label={lis:mylisting}]
public function passes($attribute, $value)
{
return preg_match("/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[0-9])(?=.*?[#?!@()$%^&*=_{}[\]:;\"'|\\<>,.\/~`±§+-]).{8,255}$/", $value);
}
\end{lstlisting}