我需要使用正则表达式验证输入字段,但输入字段不应出现在这些字符;*&%^=""
中。
因为我是Regex
所以
我写的正则表达式是\A.+[a-z0-9A-Z]+\Z
,但它不是验证
@Avinash Raj 解决了这个问题,因为这对我有用^[^;*&%^="]+$
感谢 @Avinash Raj
答案 0 :(得分:4)
使用否定的字符类。
^[^;*&%^="]+$
这匹配任何字符一次或多次,但不匹配否定字符类中的字符。
^
声称我们处在一条线的起点。[^...]
否定字符类,它匹配任何字符,但不匹配特定字符类中的字符。+
将重复char类一次或多次。$
断言我们在一行的末尾。答案 1 :(得分:1)
另一种方式:
str = "Why won't this *!&!!* code run??!"
str.tr('*&%^"=', '') == str #=> false
str = "Now it works, but I have no idea why!!"
str.tr('*&%^"=', '') == str #=> true