博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Thinking in java(八)
阅读量:4058 次
发布时间:2019-05-25

本文共 1546 字,大约阅读时间需要 5 分钟。

正则表达式

正则表达式符号介绍:正则表达式一般也需要使用字符串进行展示:

1、一般符号
x: 指的是普通字符,x代表的是未知数,代表着任何一个普通字符,举例x可以代表a,也可以代表b,同时也可以代表c等普通字符。
举例说明:”a[1-9][0-9]{4,11}”这里所写的a就是普通字符x中的一种,这时x就代表a,那么也就是说此正则表达式的第一位只能是普通字符a;

\ : 表示反斜线 例:“\” 在正则中就是“\”

\t :制表符。相当于tab键。

2、给出某个位置上可以出现的多个字符

[ ]表示范围的意思。表示某一位上可以出现的字符数据,如果正则中需要匹配的某个字符串中某一位上的字符是唯一的,这时可以省略中括号。
[abc] 表示要么是a要么是b还可以是c(只能是其中任意一个)
例:”NBA” 正则:”N[ABC]A” 匹配正确:NBA NAA NCA
[^abc] 当前要匹配的某个字符串中的某一位上不能是a 或b 或c(除了a,b,c都可以)
[a-z] 表示26个小写字母
[A-Z] 表示26个大写字母
[a-zA-Z] 表示26个大小写字母
[a-d[m-p]] 当前要匹配的某个字符串中的某一位上 可以是a -d 或 m - p 的字符
[a-d&&[d-f]] 表示只能是d。必须在两个范围中都要符合 。(交集)
[a-d&&[^d-f]] 表示只能是a,b,c
[a-z&&[^xyz]] 表示只能是除去x,y,z后的所有小写字母
[0-9] 表示0~9之间任意数字

3、提前定义好的一些符号,可以代替上述的[]书写的范围

这里写图片描述
^ 表示行的开头 例:“^h.” 表示只能是以h作为开头
h.o 表 示 行 的 结 尾 例 : ” h . o ” 表示只能以h作为开头,以o作来结尾

数量词:表示当前正则表达式中某个规则可以出现的次数。 注意:数量词前面必须有存在正则符号。

“A?” 表示当前需要匹配字符串这个位置开始往后大写字母A可以出现零次或一次;举例:”[0-9]?”表示在当前的字符串位置上0~9之间的任何一个数只能出现零次或者一次;“A*” 表示当前需要匹配字符串这个位置开始往后大写字母A可以出现零次或多次;举例:”[0-9]*”表示在当前的字符串位置上0~9之间的任何一个数可以出现零次或者一次或者多次;“A+” 表示当前需要匹配字符串这个位置开始往后大写字母A可以出现一次或多次;举例:”[0-9]+”表示在当前的字符串位置上0~9之间的任何一个数可以出现一次或者多次;“A{n}”----> “A{
10}” 表示当前需要匹配字符串这个位置开始往后大写字母A必须出现10次;举例:”[0-9]{
10}”表示在当前的字符串位置上0~9之间的任何一个数可以出现10次;“A{n,}----->”“A{
10,}”表示当前需要匹配字符串这个位置开始往后大写字母A最少出现10次;举例:”[0-9]{
10,}”表示在当前的字符串位置上0~9之间的任何一个数最少出现10次;“A{n,m}”---->“A{
10,20}”表示当前需要匹配字符串这个位置开始往后大写字母A最少出现10次,最多20次;举例:”[0-9]{
10,20}”表示在当前的字符串位置上0~9之间的任何一个数最少出现10次,最多20次;

4.在正则中一旦把某个规则使用小括号封装成组之后,由于我们只能使用小括号进行组的封装,而无法给组起名, 这时会自动的给这些组进行编号,组的编号从1开始,一个小括号就是一组。

如果在当前分组的这个正则表达式中引用已经存在的组,需要使用 \组的编号
例如:”([a-z_A-Z])bc\1”


基本类型与包装类型

这里写图片描述

你可能感兴趣的文章
VMware Workstation Pro虚拟机不可用解决方法
查看>>
redis学习总结-- 内部数据 字符串 链表 字典 跳跃表
查看>>
iOS 对象序列化与反序列化
查看>>
iOS 序列化与反序列化(runtime) 01
查看>>
iOS AFN 3.0版本前后区别 01
查看>>
iOS ASI和AFN有什么区别
查看>>
iOS QQ侧滑菜单(高仿)
查看>>
iOS 扫一扫功能开发
查看>>
iOS app之间的跳转以及传参数
查看>>
iOS __block和__weak的区别
查看>>
Android(三)数据存储之XML解析技术
查看>>
Spring JTA应用之JOTM配置
查看>>
spring JdbcTemplate 的若干问题
查看>>
Servlet和JSP的线程安全问题
查看>>
GBK编码下jQuery Ajax中文乱码终极暴力解决方案
查看>>
Oracle 物化视图
查看>>
PHP那点小事--三元运算符
查看>>
解决国内NPM安装依赖速度慢问题
查看>>
Brackets安装及常用插件安装
查看>>
Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)
查看>>