正则表达式匹配除某些集合之外的所有集合

Dav*_*vy8 3 regex

我确定以前曾经问过,但我似乎无法找到它(或者知道要搜索的正确措辞)

基本上我想要一个匹配除连字符以外的所有非字母数字的正则表达式.所以基本上匹配\ W +除了排除' - '我不知道如何从预制组中排除特定的.

kch*_*kch 8

\W是一个简写[^\w].所以:

[^\w-]+
Run Code Online (Sandbox Code Playgroud)

一点背景:

  • […] 定义一个集合
  • [^…] 否定一套
  • 通常,每个\v(小写)集合被\V(大写)否定,其中V是定义集合的任何字母.
  • 对于国际字符,您可能需要查看[[:alpha:]][[:alnum:]]