Побег тех ^
с; они отрицают символ, который не существует: ^
→ \^
/\^*?(:[rp][el]a[\w-]+)\^*/
(я убираю скобки, потому что они не нужны).
¿Или, может быть, вы вообще не хотите проверять наличие символа ^
, и что вы хотите, чтобы соответствовать началу и концу строки? Пожалуйста, уточните.
Объяснение : Символ каретки (^
), находящийся вне группы символов, указывает начало строки. В пределах группы символов, однако, это означает, что группа символов является отрицательной: [^a]
будет соответствовать любому символу, кроме «a», тогда как [^]
недопустим.
Кроме того, ваше регулярное выражение неясно, не очень строго и, вероятно, не то, что вы хотите: оно соответствует '^^^^^^:peasant-with-slashes^^^^^^^^'
.