![Эквивалентны ли [^\s] и \S в регулярных выражениях?](https://rvso.com/image/1600725/%D0%AD%D0%BA%D0%B2%D0%B8%D0%B2%D0%B0%D0%BB%D0%B5%D0%BD%D1%82%D0%BD%D1%8B%20%D0%BB%D0%B8%20%5B%5E%5Cs%5D%20%D0%B8%20%5CS%20%D0%B2%20%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D1%8B%D1%85%20%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%D1%85%3F.png)
Эквивалентны ли [^\s]
и \S
в канонических (общепринятых стандартах) регулярных выражениях? Если нет, то в чем разница?
(Оба, похоже, соответствуют любому символу, отличному от пробела.)
Причина, по которой я спрашиваю: вижу, что его [^\s]
широко используют даже опытные авторы регулярных выражений, и удивляюсь, почему данный вариант \S
короче и его легче читать — по крайней мере, для меня.
решение1
Оба означают одно и то же: 1 символ без пробела.
Я не знаю, почему люди этим не пользуются, может быть, они просто не знают.