赞
踩
SQL语句可以搭配正则表达式作为查询条件,实现很多需求。
REGEXP_LIKE 匹配:REGEXP_LIKE(String, Regexp)
REGEXP_INSTR 包含
EGEXP_REPLACE 替换
REGEXP_SUBSTR 提取
正则表达式常用字符:
字符 | 说明 |
---|---|
^ | 匹配字符串的开始位置,若用在中括号中[ ] 时,表示不匹配括号中字符串 |
$ | 匹配字符串的末尾,若设置了表达式对象的Multiline属性,则也匹配’/n’或’/r’ |
. | 匹配单个字符 |
* | 匹配前面子表达式 0次或多次(至少有一次) |
? | 匹配前面子表达式 0 次或 1 次 (至多有一次) |
+ | 匹配前面子表达式 1 次或更多次 |
{m} | 匹配 m 次 |
{m,} | 至少匹配 m 次 |
{m, n} | 至少匹配 m 次但不超过 n 次 |
() | 匹配括号中全部字符 |
[] | 匹配括号中一个字符,范围描述,如[0-9] [a-z] [A-Z] |
{} | 用于限定匹配次数,如 {n}表示匹配n个字符,{n,}表示至少匹配n个字符,{n,m}表示至少n个最多m个 |
\ | 转义字符,如上基本符号匹配都需要转义字符 ,如 * 表示匹配*号 |
\w | 表示英文字母和数字 |
\W | 表示非字母和数字 |
\d | 表示数字 |
\D | 表示非数字 |
常用的正则表达式:
匹配由26个英文字母组成的字符串: ^[A-Za-z]+$ 匹配由26个英文字母的大写组成的字符串: ^[A-Z]+$ 匹配由26个英文字母的小写组成的字符串: ^[a-z]+$ 匹配由数字和26个英文字母组成的字符串: ^[A-Za-z0-9]+$ 匹配由数字和26个英文字母或者下划线组成的字符串: ^\w+$ 匹配整数: ^-?[1-9]\d*$ 匹配正整数: ^[1-9]\d*$ 匹配负整数: ^-[1-9]\d*$ 匹配非负整数: ^[1-9]\d*|0$ 匹配非正整数: ^-[1-9]\d*|0$ 电子邮箱: ^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$ URL : ^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$ IP地址: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ HTML标签: ^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$ SQL语句: ^(select|drop|delete|create|update|insert).*$ 邮政编码: ^[1-9]\d{5}(?!\d)$ Unicode编码中文字符串: ^[u4e00-u9fa5],{0,}$ 空白行: \n[\s| ]*\r 首尾空格: (^\s*)|(\s*$) 双字节字符: [^\x00-\xff]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。