### 正则表达式知识点详解 #### 匹配中文字符的正则表达式 - **表达式**: `[\u4e00-\u9fa5]` - **解释**: 此正则表达式用于匹配任何单个中文字符。其中`\u4e00-\u9fa5`表示Unicode编码区间,覆盖了大多数常用汉字。 #### 匹配双字节字符(包括汉字在内的所有非ASCII字符) - **表达式**: `[^\x00-\xff]` - **解释**: 这个表达式用于匹配任何非ASCII字符。`[^\x00-\xff]`意味着匹配不属于`\x00`到`\xff`范围内的任何字符。由于ASCII字符的范围为`\x00`到`\x7f`,因此该表达式能匹配所有的非ASCII字符,包括汉字等双字节字符。 #### 匹配空行的正则表达式 - **表达式**: `\n[\s| ]*\r` - **解释**: 此表达式用于匹配空白行。其中`\n`代表新行,`[\s| ]*`表示匹配任意数量的空白字符(包括空格和制表符),`\r`表示回车符。整个表达式用于匹配一行开头和结尾可能包含的空白字符。 #### 匹配HTML标记的正则表达式 - **表达式**: `<(.*)>.*<\/\1>|<(.*) />` - **解释**: 此表达式用于匹配完整的HTML标签,包括闭合标签和自闭合标签。其中`<(.*)>`匹配开始标签,`<\1>`匹配与之对应的结束标签,而`<(.*) />`用于匹配自闭合标签。 #### 匹配首尾空格的正则表达式 - **表达式**: `(^\s*)|(\s*$)` - **解释**: 该表达式用于匹配字符串开始或结束处的空白字符。`^\s*`表示匹配字符串开头的空白字符,`\s*$`表示匹配字符串末尾的空白字符。 #### 匹配IP地址的正则表达式 - **表达式**: `/(\d+)\.(\d+)\.(\d+)\.(\d+)/g` - **解释**: 该表达式用于匹配IPv4地址。每个部分由1到3位数字组成,范围为0-255。通过`.`分隔。 #### 匹配Email地址的正则表达式 - **表达式**: `\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*` - **解释**: 该表达式用于匹配标准的电子邮件地址格式。其中`\w+`表示一个或多个字母数字字符,`([-+.]\w+)*`表示可选的连字符、加号或点号后跟一个或多个字母数字字符,`@\w+`表示`@`符号后跟一个或多个字母数字字符,`([-.]\w+)*`表示域名中的连字符或点号,最后的`\.\w+([-.]\w+)*`表示顶级域和其他子域。 #### 匹配网址URL的正则表达式 - **表达式**: `http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?` - **解释**: 该表达式用于匹配以`http://`开头的URL。其中`([\w-]+\.)+`表示一个或多个子域,`[\w-]+`表示主域名,`(/[\w- ./?%&=]*)?`表示可选的路径和查询字符串。 #### SQL关键词匹配 - **表达式**: `^(select|drop|delete|create|update|insert).*` - **解释**: 该表达式用于匹配SQL语句中的关键词,如SELECT、DROP、DELETE等。 #### 数字匹配 - **非负整数**: `^\d+$` - **正整数**: `^[0-9]*[1-9][0-9]*$` - **非正整数**: `^((-\d+)|(0+))$` - **负整数**: `^-[0-9]*[1-9][0-9]*$` - **整数**: `^-?\d+$` - **非负浮点数**: `^\d+(\.\d+)?$` - **正浮点数**: `^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$` - **非正浮点数**: `^((-\d+\.\d+)?)|(0+(\.0+)?))$` - **负浮点数**: `^(-((正浮点数正则式)))$` - **以上表达式**分别用于匹配不同类型的整数和浮点数。 #### 字符串匹配 - **英文字符串**: `^[A-Za-z]+$` - **英文大写串**: `^[A-Z]+$` - **英文小写串**: `^[a-z]+$` - **英文字符数字串**: `^[A-Za-z0-9]+$` #### 其他常见表达式 - **匹配任何字母数字串**: `^\w+$` - **匹配任何电子邮件地址**: `^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$` - **匹配任何URL**: `^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$` - **匹配邮政编码**: `^[1-9]\d{5}$` - **匹配任何Unicode字符**: `^[\u0391-\uFFE5]+$` - **匹配电话号码**: `^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$` - **匹配手机号码**: `^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$` - **匹配双字节字符**: `^\x00-\xff` - **匹配首尾空格**: `(^\s*)|(\s*$)` - **匹配HTML标签**: `<(.*)>.*<\/\1>|<(.*)\/>` - **匹配换行符后的空白字符**: `\n[\s|]*\r` - **匹配带有`href`属性的链接**: `(h|H)(r|R)(e|E)(f|F)*=*(|")?(\w|\\|\/|\.)+(|"|*|>)?` - **匹配带有`src`属性的图片链接**: `(s|S)(r|R)(c|C)*=*(|")?(\w|\\|\/|\.)+(|"|*|>)?` - **匹配IP地址**: `(\d+)\.(\d+)\.(\d+)\.(\d+)` - **匹配带有区号的电话号码**: `(86)*0*13\d{9}` - **匹配固定电话号码**: `(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}` - **匹配国际长途电话号码**: `(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}` - **匹配邮政编码**: `[1-9]{1}(\d+){5}` - **匹配任何实数**: `(-?\d*)\.?\d+` - **匹配任何整数**: `(-?\d*)(\.\d+)?` - **匹配IPv4地址**: `(\d+)\.(\d+)\.(\d+)\.(\d+)` - **匹配区号**: `/^0\d{2,3}$/` - **匹配QQ号码**: `^[1-9]*[1-9][0-9]*$` - **匹配用户名(长度5-16位,首位必须是字母)**: `^[a-zA-Z][a-zA-Z0-9_]{4,15}$` - **匹配中英文混合的用户名**: `^[\u4e00-\u9fa5_a-zA-Z0-9]+$` 以上正则表达式覆盖了各种常见的匹配需求,可用于文本处理、数据验证等多个场景。
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
匹配IP地址的正则表达式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
sql语句:^(select|drop|delete|create|update|insert).*$
1、非负整数:^\d+$
2、正整数:^[0-9]*[1-9][0-9]*$
3、非正整数:^((-\d+)|(0+))$
4、负整数:^-[0-9]*[1-9][0-9]*$
5、整数:^-?\d+$
- 粉丝: 1632
- 资源: 153
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助