Регулярное выражение для соответствия всем, кроме определенных символов в классе - PullRequest
2 голосов
/ 20 марта 2012

Как лучше всего сопоставить все знаки препинания в классе [[:punct:]], кроме @ и #?

Ответы [ 2 ]

9 голосов
/ 20 марта 2012

Вы можете использовать отрицательный прогноз:

(?:(?![#\@])[[:punct:]])+
1 голос
/ 20 марта 2012

[[:punct:]] эквивалентно [!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]

См .: http://www.regular -expressions.info / posixbrackets.html

Вы можете просто извлечь ненужные символы: [!"$%&'()*+,-./:;<=>?[\]^_`{|}~]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...