На відміну від деяких реалізацій двигунів регулярної експресії, схоже, Vim's не підтримує це позначення ( [\s\w]
) у колекціях. Однак можна використовувати вирази класів символів POSIX .
[:blank:]
те саме, що \s
.
[:space:]
відповідає більшій кількості символів пробілу, ніж \s
це, і, здається, еквівалентно \_s
.
[:alnum:]
наближається \w
, але не відповідає підкресленню ( _
).
Отже колекція, яку ви хотіли, може бути написана як [[:blank:][:alnum:]_]
або [[:space:][:alnum:]_]
.
Я не перевірив це шляхом тестування, але документовано в :h regexp
, :h /character-classes
і :h /collection
.
Примітка щодо переносимості: В інших двигунах регулярного вирівнювання \s
зазвичай такий самий, як [:space:]
(або \_s
) у Vim.
[[:space:][:alnum:]_]
може використовуватися для наближення колекції\s
і\w
, хоча.