所以我称一表“lu_regex”与所谓的“正则表达式”MySQL的REGEXP - 当列包含正则表达式
Select * from lu_regex;
athedsl-\d+
i5[93][0-9a-fA-F]+\.versa
5ac[a-f0-9]+.+sky
表中包含的行1000的专栏中,各种正则表达式的语法,我在这个例子中只显示了三个。
现在我试图接受用户输入并将该输入与表中的行进行匹配。所以我正在这样做。
SELECT * FROM lu_regex where '5aca3a11.bb.sky.comr' regexp regex;
regex
5ac[a-f0-9]+.+sky
1 row returned.
我回来了我的预期,与该查询,然后我尝试这一个。
SELECT * FROM lu_regex where 'athedsl-07371.home.otenet.gr' regexp regex;
0 rows returned.
它应该匹配“athedsl- \ d +”,但我假设它与“\ d”有关。我甚至试图将这个添加到数据库“athedsl - \\ d +”,并且不会导致匹配。
我试图坚持一个MySQL解决方案,我做错了什么,这应该是可能的。
作为第一次尝试确认/弱化你的怀疑,你可以用'athedsl- [0-9] +'替换'athedsl- \ d +'。 – cFreed
它被替换时匹配'athedsl- [0-9] +'。 – Henry
所以这个问题真的是你怀疑的地方:'\ d'似乎不工作。我不明白为什么,只是现在,但我会尝试找到一些东西......如果我不回来,你会知道我不幸运:) – cFreed