Регулярное выражение не проверяет конец строки
Рассмотрим следующий сценарий (код Javascript):
regex = new RegExp((/([\d,.]+)[ $]/));
value = "2.879"
Регулярное выражение не соответствует значению, но оно соответствует (значение +" "), поэтому я думаю, что $ не соответствует? Это почему?
Разве $ не должен проверять конец строки?
1 ответ
Решение
Специальные символы, такие как $
не имеют того же значения внутри класса символов. В классе персонажей они просто персонажи, поэтому [ $]
будет соответствовать либо символ пробела или $
персонаж. Это не будет соответствовать концу строки.
Если вы хотите сопоставить пробел или конец строки, вы должны использовать чередование, т.е. ( |$)
,