正则表达式 匹配有3个连续字母的内容

如下几句话:
1、自增长air大方
2、的收费asdfg的
3、fgg
以上第1、3句符合要求。

判断2次,一次是[a-zA-Z]{3} 一次是[a-zA-Z]{4},如果第一次匹配成功,第二次匹配不成功,则整个字符串匹配成功追问

能具体点嘛?如下SQL语句:
SELECT * FROM customer WHERE NAME REGEXP ".*[a-zA-Z]{3}.*"
这个sql把上面的第二句也匹配成功,预期只要3个字母的,3个以上的不匹配

追答

SELECT * FROM customer WHERE NAME REGEXP ".*[a-zA-Z]{3}.*" and NAME not REGEXP ".*[a-zA-Z]{4}.*"(语法可能不太对),第二个匹配就是把包含4个字母的去掉

追问

谢了

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-18
.*[a-zA-Z]{3}.*追问

这个正则也匹配第2句,预期只要3个字母的。

追答

哦,没注意,那这样就行了。让三个连续字母的前后不能是字母。
.*[^a-zA-Z][a-zA-Z]{3}[^a-zA-Z].*