Иван Иванов
Мыслитель
(5995)
1 год назад
В регулярных выражениях вопросительный знак имеет специальное значение, означающее "0 или 1 повторение предыдущего символа". Поэтому, если вы хотите использовать вопросительный знак как обычный символ, его нужно экранировать, то есть добавить перед ним обратный слеш "?". В вашем случае, регулярное выражение должно быть таким: /текст?/.
Если вы хотите найти текст, содержащий либо символ вопросительного знака, либо символы слэшей (/), можно использовать символьный класс, заключенный в квадратные скобки. Например, регулярное выражение /текст[/?]/ будет находить текст, содержащий символ вопросительного знака или символ слэша.
Также стоит учесть, что некоторые символы имеют специальное значение в регулярных выражениях и должны быть экранированы, если вы хотите использовать их как обычные символы. К ним относятся например: точка ".", звездочка "*", плюс "+", круглые скобки "()" и др.
/текст?/ Вопросительный знак не подхватывает, а заменяет все кроме него, странно что вообще заменяет
Такая запись работает
/текст[/?/]/
Но это не самое удобное решение, желательно чтобы все решалось одной регуляркой, подскажите решение пожалуйста. Заранее спасибо!