Использование \"
не будет работать, и вы также не сможете использовать ""
. То, что у вас правильно совпадает.
Тем не менее, чтобы сделать его короче, вы всегда можете использовать escape-эквивалент символа Юникод: \x22
. Еще короче восьмеричное представление: \42
. Хотя оба они короче, они не сильно помогают читабельности. Частые пользователи регулярных выражений поймут, что он представляет некоторый символ, но они могут не знать , какой символ, не ища его Кроме того, вы не сможете комментировать его, если не планируете оставлять комментарии разметки ASP.NET поблизости для объяснения регулярного выражения.
Тем не менее, мне не особо нравится, как выглядит "
. Это выглядит странно и неуместно, заставляя \x22
или \42
выглядеть немного чище. Ваш звонок.
ValidationExpression="^[\w\d\s.,\x22'-]+$"
ValidationExpression="^[\w\d\s.,\42'-]+$"
В конечном итоге это позволяет сбрить 2-3 персонажа.
РЕДАКТИРОВАТЬ: добавил еще более короткий подход с использованием восьмеричного представления.