我希望根据模式获得所有行 xxx.xxx(仅限) 其中x是1到9之间的数字或任何字母
我的表达不起作用REGEXP '[a-z]{1,3}\.[a-z]{1,3}'
THX!
UPD:总而言之,但不起作用! 我试过了SELECT email, registered, voted, ip, agent
FROM `voters`
WHERE member =199
AND DATE_FORMAT( voted, '%Y-%m-%d' ) < '2014-09-23'
AND SUBSTRING_INDEX( email, '@', 1 )
REGEXP '[a-zA-Z1-9]{3}\.[a-zA-Z1-9]{3}'
结果:
libsherbakul@...
savelkina_061080@...
dreik_339@...
simauta25@....
suslenkovagtp@...
driamoff@...
anashkina_1966@...
fedotovauliya@...
omsklib@...
UPD 2:Itryed更改模式,'[a-zA-Z1-9]{3}[\.]{1}[a-zA-Z1-9]{3}'
结果:
regina.zheyli@...
rus.antonin@...
kira.albenina@...
alya.oktya@...
andryushka.gromov.1986@...
inna.festival@...
ilyubaj.baktybaev@...
vika.korotkova.02@...
silina.lika@...
mika.sidorova@...
kharlov.dmitriy@...
toni.gordon.70@...
vasya.ganichev.74@...
fomin.slavick22@...
不好,因为“。”之前和之后超过3个符号。
答案 0 :(得分:1)
如果你想要正好三个字母或数字后跟一个点,后面跟着正好三个字符,条件相同而不是之前和之后你必须使用
REGEXP '^[a-zA-Z1-9]{3}\.[a-zA-Z1-9]{3}$'
特殊字符^
和$
具有以下含义:
character meaning
----------------------------------------------
^ Match the beginning of a string.
$ Match the end of a string.
答案 1 :(得分:0)
[a-z]
仅匹配小写字母。您还需要指定大写,数字1-9。
应该修改量词。 {1-3}
匹配前一个模式的1到3倍。使用{3}
匹配3次。
REGEXP '[a-zA-Z1-9]{3}\.[a-zA-Z1-9]{3}'
答案 2 :(得分:0)
应该是
[a-zA-Z1-9]{3}\.[a-zA-Z1-9]{3}
在期间的两边只允许3 。
和你说的任何一封信。