我有一些字符串,我必须检查它是否由正则表达式中的所有特殊字符组成,我尝试了一些操作,但以我需要任何帮助的方式无法正常工作?
str = "@#%^"
regex = /[\?\<\>\'\,\?\[\]\}\{\=\-\)\(\*\&\^\%\$\#\`\~\{\}\@]/
str.match(regex)
你可以做到
/\A\W*\z/
在\W*
任何非单词字符从一开始(匹配\A
),直到最后(\z
串)。
见演示:
class String
def onlySpecialChars?
!!self.match(/\A\W*\z/)
end
end
puts "@#%^".onlySpecialChars? # true
puts "w@#%^".onlySpecialChars? # false
如果您有自己的特殊字符集,请使用代替\W
。还要注意,您已经转义了正则表达式,[?<>',?\[\]}{=)(*&^%$#`~{}@-]
就足够了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句