正则表达式中的\S、\W、\D代表什么意思?

6
在shell脚本中,我们使用\t表示制表符,\s表示空格,\w表示单词。 那么\W(大写W)和\D(大写D)有什么用途呢?
2个回答

15

\W\w的相反,\D\d的相反。

就像\S\s的相反一样。

\W\D分别匹配\w\d所不匹配的内容。

您可以查看此网站获取更多解释。

\w通常匹配[A-Za-z0-9_](忽略外文字符)

\W因此匹配[^A-Za-z0-9_]

由于

\d通常匹配[0-9](忽略外文数字)

\D因此匹配[^0-9]


1
此答案已被添加到[Stack Overflow正则表达式FAQ](https://dev59.com/tmAg5IYBdhLWcg3w_vOE#22944075)的“字符类”下。 - aliteralmind

6

根据手册

\W  Match a non-word character
\D  Match a non-digit character

\W 匹配任何不被 \w 匹配的字符。同样,\D 匹配任何不被 \d 匹配的字符。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接