Регулярное выражение не проверяет конец строки

Рассмотрим следующий сценарий (код Javascript):

regex = new RegExp((/([\d,.]+)[ $]/));
value = "2.879"  

Регулярное выражение не соответствует значению, но оно соответствует (значение +" "), поэтому я думаю, что $ не соответствует? Это почему?

Разве $ не должен проверять конец строки?

1 ответ

Решение

Специальные символы, такие как $ не имеют того же значения внутри класса символов. В классе персонажей они просто персонажи, поэтому [ $] будет соответствовать либо символ пробела или $ персонаж. Это не будет соответствовать концу строки.

Если вы хотите сопоставить пробел или конец строки, вы должны использовать чередование, т.е. ( |$),

Другие вопросы по тегам