求助:编写RegEx匹配特定特殊字符及纯空白字符串
解决方案
你需要的正则表达式可以这样写:
^[\s<>/\\:*?"|]+$
正则说明
^和$:锚定字符串的开头和结尾,确保匹配的是整个字符串,避免部分匹配[\s<>/\\:*?"|]:字符集合,包含两类字符:\s:所有空白字符(空格、制表符、换行符等)- 指定的特殊字符:
<>/\:*?"|(注意反斜杠需要转义)
+:要求匹配至少一个上述字符,排除空字符串(如果需要允许空字符串,可将+改为*)
匹配情况验证
- 纯空白字符串(如
" "):匹配 ✅ - 包含特殊字符的字符串(如
"<file>"、"*test*"):匹配 ✅ - 包含有效字符的字符串(如
" d"、"abc123"):不匹配 ❌ - 混合空白与特殊字符的字符串(如
" ? "):匹配 ✅
如果你的场景中只需要匹配空格(不包含制表符、换行等),可以把\s换成空格,正则改为:
^[ <>/\\:*?"|]+$
内容的提问来源于stack exchange,提问作者Evil Hunter
相关产品推荐
相关产品推荐

