java 正则表达式 包含字母数字特殊字符

2024-11-02 08:02:33
推荐回答(2个)
回答1:

/\b(?!\d{3}|[a-z]{3})([0-9a-z])(?!\1\1)[0-9a-z]*\b/gi

我不明白你的第一条的意思 

我只能不匹配   1. 3个连续字母或3个连续数字(4个连续也不能匹配)

                       2. 3个连续相同的字母或数字(其实1已经否定了2)

   /***/gi  gi是全局不区分大小写匹配   ***是正则表达式

希望我这样写你能从中得到启发


            

----------------------------------------------------------------

如果想匹配4个及4个以上连续的字母数字 可以用

\b(?!\d{3}|[a-z]{3})([0-9a-z])(?!\1\1)[0-9a-z]*\b|\b(?=\d{4,}|[a-z]{4,})([0-9a-z])(?!\1\1)[0-9a-z]*\b

--------------------------------------------------------------------

回答2:

String regEx="[A-Z,a-z,0-9,-]*"

 boolean result=Pattern.compile(regEx).matcher(str).find();