Ruby 正则表达式以匹配类中除某些字符外的所有字符

Ruby 正则表达式以匹配类中除某些字符外的所有字符,ruby,regex,Ruby,Regex,除了@和#之外,匹配类中所有标点字符的最佳方法是什么?您可以使用负前瞻: (?:(?![#\@])[[:punct:]])+ [[:punct:]相当于[!”{$%&'()*+,-./:;?@[\]^{{124}~] 见: 您只需提取不需要的符号: 谢谢!你在@This中漏掉了一个“\”:(?:(?![\\@])[[:punct:])+@primary0白金在@中漏掉一个“\”是什么意思?我完全不明白。你能解释一下吗?

除了
@
#
之外,匹配类中所有标点字符的最佳方法是什么?

您可以使用负前瞻:

(?:(?![#\@])[[:punct:]])+

[[:punct:]
相当于
[!”{$%&'()*+,-./:;?@[\]^{{124}~]

见:

您只需提取不需要的符号:
谢谢!你在@This中漏掉了一个“\”:(?:(?![\\@])[[:punct:])+@primary0白金在
@
中漏掉一个“\”是什么意思?我完全不明白。你能解释一下吗?