mysql 供应的形式婚配的其他范例是运用扩大正则表达式。
当你对这类形式举行婚配测试时,运用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它们是同义词)。
扩大正则表达式的一些字符是:
“.”婚配任何单个的字符。
一个字符类“[...]”婚配在方括号内的任何字符。比方,“[abc]”婚配“a”、“b”或“c”。为了定名字符的一个局限,运用一个“-”。“[a-z]”婚配任何小写字母,而“[0-9]”婚配任何数字。
“ * ”婚配零个或多个在它前面的东西。比方,“x*”婚配任何数目的“x”字符,“[0-9]*”婚配的任何数目的数字,而“.*”婚配任何数目的任何东西。
正则表达式是辨别大小写的,然则假如你愿望,你能运用一个字符类婚配两种写法。比方,“[aA]”婚配小写或大写的“a”而“[a-zA-Z]”婚配两种写法的任何字母。
假如它涌现在被测试值的任何地方,形式就婚配(只需他们婚配全部值,SQL形式婚配)。
为了定位一个形式以便它必需婚配被测试值的最先或末端,在形式最先处运用“^”或在形式的末端用“$”。
为了申明扩大正则表达式怎样事情,上面所示的LIKE查询在下面运用REGEXP重写:
为了找出以“b”开首的名字,运用“^”婚配名字的最先而且“[bB]”婚配小写或大写的“b”:
mysql> SELECT * FROM pet WHERE name REGEXP "^[bB]";
本身在Myabtis中运用正则表达式
<select id="provinceLists" resultMap="BaseCountry" parameterType="java.lang.String"> select code,label from institution where admlvl = '2' and code REGEXP "[0-9]*\.[0-9]*" </select> <select id="cityLists" resultMap="BaseCountry" parameterType="java.lang.String"> select code,label from institution where admlvl = '3' and code REGEXP "[0-9]*\.[0-9]*\.[0-9]*" </select> <select id="countyLists" resultMap="BaseCountry" parameterType="java.lang.String"> select code,label from institution where admlvl = '4' and code REGEXP "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*"; </select>
以上就是SQL 正则表达式及mybatis中运用正则表达式的细致内容,更多请关注ki4网别的相干文章!