Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用像这样的正则表达式 im mysql
select * from table1 where table1.name REGEXP '[[:<:]]1.1[[:>:]]'
查询显示结果,其名称字段的值也为 1.1.1。像这样
pk name 5 1.1 6 1.1.1
但我只需要匹配 1.1
有任何想法吗?
select * from table1 where table1.name REGEXP '^1.1$'
确保 only1.1是允许的(但也1X1或111因为点匹配任何字符 - 如果要匹配文字点,请使用^1\.1$)。
1.1
1X1
111
^1\.1$
当然,现在有一个问题,您为什么要使用正则表达式,因为它只是您要匹配的文字字符串,而不是变量模式。
您的正则表达式失败,因为您使用了在字母数字字符和非字母数字字符(或字符串的开头/结尾)之间匹配的单词开头/结尾锚点,并且由于and[[:>:]]之间的匹配,正则表达式至少部分匹配。1.1.1.1
[[:>:]]
1
.
1.1.1