Вложенный класс символов регулярного выражения POSIX в Ruby?
Как вложить класс символов в стиле POSIX в другой класс символов?
Я пытаюсь заменить совпадение пробела или тире:
/[\s-]/
с
/[[[:space:]]-]/
И это не работает. Я использую Ruby 1.9.3, а в официальном документе нет примеров вложения. Мне нужен стиль POSIX, потому что я работаю с UTF-8, и мои примеры не соответствуют реальным выражениям.
Спасибо за любую помощь!
1 ответ
Ваш третий набор [] не нужен.
Объявление [:space:] допустимо только внутри набора, поэтому вы увидите его как [[:space:]], если оно используется само по себе. В этом случае у вас будет больше символов, поэтому будет работать следующее.
[[:space:]-]