正则表达式

正则表达式提供了一种高级的、但不直观的字符串匹配和处理的方法。它描述了一种 字符串匹配的模式,可以用来判断一个字符串是否满足某种格式,或者一个字符串是否含 有某个子串等。

1. 字符集 正则表达式中可以使用的用于匹配的字符集如表 2.2 所示。 表 2.2 字 符 集 字符 作 用 . 匹配除\n 以外的任何一个字符 [ ] 匹配包含在方括号内的任何一个字符 ^ 用在方括号中表示匹配除方括号中字符以外的任何字符 示例: .at:匹配以任意字符开头,后面为 at 的字符串,如“cat”、“bat”、“#at”等。 [a-z]:匹配任意一个小写字母(a~z 之间的),如“a”、“c”、“e”等。 [aeiou]:匹配任意一个元音字母。 [a-zA-Z]:匹配任意一个大写或小写字母。 [^a-z]:匹配任何不在 a~z 之间的字符。

2. 重复 正则表达式中用于确定重复次数的字符如表 2.3 所示。 表 2.3 重 复 次 数 字符 作 用 * 表示重复 0 次或以上 + 表示重复 1 次或以上 ? 表示重复 0 次或 1 次 示例: [a-zA-Z]*:匹配由任意大小写字母构成的字符串,也可以是空字符串,如“abc”。 [0-9]+:匹配任何由数字构成的字符串,该字符串至少包含一个字符,如“1234”。 [a-z0-9]?:匹配空字符串,或者一个小写字母或数字。

3. 子表达式 正则表达式中子表达式的格式和作用如表 2.4 所示。 44 Java Web 程序设计基础教程 表 2.4 子 表 达 式 字符 作 用 () 将多个字符作为一个子表达式 示例: (very )*large:匹配“large”、“very large”、“very very large”等。注意 very 后面的空格。

4. 子表达式计数 正则表达式中的子表达式可以出现多次,子表达式的计数如表 2.5 所示。 表 2.5 子表达式计数 字符 作 用 {n} 表示重复 n 次 {m,n} 表示重复 m~n 次 {m,} 表示重复 m 次以上 示例: (very ){1} :匹配“very ”。 (very ){1,3}:匹配“very ”、“very very ”、“very very very ”。 (very ){1,}:匹配由一个或一个以上“very ”构成的字符串。

巩固javaweb的第二十六天的更多相关文章

  1. javaSE第二十六天

    第二十六天    414 1:网络编程(理解)    414 (1)网络编程:用Java语言实现计算机间数据的信息传递和资源共享    414 (2)网络编程模型    414 (3)网络编程的三要素 ...

  2. IT第二十六天 - Swing、上周总结

    IT第二十六天 上午 Swing 1.对于方法的参数如果是int数值类型,应该直接调用该类中的常量属性,而不应该直接填入数字 2.Toolkit类中定义的方法是可以直接访问本地计算机(操作系统)信息的 ...

  3. Python第二十六天 python装饰器

    Python第二十六天 python装饰器 装饰器Python 2.4 开始提供了装饰器( decorator ),装饰器作为修改函数的一种便捷方式,为工程师编写程序提供了便利性和灵活性装饰器本质上就 ...

  4. 孤荷凌寒自学python第二十六天python的time模块的相关方法

    孤荷凌寒自学python第二十六天python的time模块的相关方法 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 要使用time模块的相关方法,必须在文件顶端引用: import tim ...

  5. JavaScript(第二十六天)【表单处理】

    为了分担服务器处理表单的压力,JavaScript提供了一些解决方案,从而大大打破了处处依赖服务器的局面.   一.表单介绍 在HTML中,表单是由<form>元素来表示的,而在JavaS ...

  6. (93)Wangdao.com_第二十六天_鼠标事件

    鼠标事件 与鼠标相关的事件,继承了 MouseEvent 接口 分类: click        按下鼠标(通常是按下主按钮)时触发.        mousedown 首先触发,mouseup 接着 ...

  7. c++第二十六天

    p131~p135: 1.除非必要否则不使用后缀加加(减减),会有额外的性能开销. 2.混用解引用和递增运算符.*pointer++,后缀运算符优先于解引用运算符. 3.运算对象可按任意顺序求值,即使 ...

  8. Python - Socket网络编程 - 第二十六天

    网络编程 Python 提供了两个级别访问的网络服务.: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法. 高 ...

  9. 巩固javaweb的第二十五天

    常用的验证 1. 非空验证 // 验证是否是空 function isNull(str) { if(str.length==0) return true; else return false; } 2 ...

随机推荐

  1. 数组中只出现过一次的数字 牛客网 剑指Offer

    数组中只出现过一次的数字 牛客网 剑指Offer 题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了偶数次.请写程序找出这两个只出现一次的数字. def FindNumsAppearOnce ...

  2. hdu 1709 The Balance(母函数)

    题意: 有一个天平.有N个砝码.重量分别是A1...AN. 问重量[1..S]中有多少种重量是无法利用这个天平和这些砝码称出来的. S是N个砝码的重量总和. 思路: 对于每一个砝码来说,有三种:不放, ...

  3. Centos 8 升级ssl到1.1.1h

    升级到1.1.1h版本 #编译openssl和安装 ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl & ...

  4. springmvc学习笔记(全)

    SpringMVC简介 什么是MVC MVC是一种软件架构的思想,将软件按照模型.视图.控制器来划分 M: Model:模型层,指工程中的JavaBean,作用是处理数据.JavaBean分为两类: ...

  5. 『学了就忘』Linux基础命令 — 35、网络中与其他机器通信的命令

    目录 1.write命令 2.wall命令 3.mail 命令 使用1:发送邮件 使用2:查看已经接收的邮件 使用3:发送文件内容 1.write命令 (1)write命令的基本信息 命令名称:wri ...

  6. MyBatis-Plus 快速入门

    1.简介 MyBatis-Plus (简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生. 1.1.特性 无侵入:只做增强不做改变, ...

  7. sqlalchemy mysql server has gone

    mixing multiprocessing and SQLAlchemy is a bad idea. In general your processes should each contain a ...

  8. FZU ICPC 2020 寒假阶段测试 2

    P1464 Function 题目描述 对于一个递归函数w(a,b,c)如果a≤0 or b≤0 or c≤0就返回值1.如果a>20 or b>20 or c>20就返回w(20, ...

  9. linux安全 设置登录失败次数后,拒绝登录

    设置登录失败3次后锁定用户300秒可以通过配合文件/etc/pam.d/sshd配置如下 在第一行 #%PAM-1.0 的下一行添加1a auth required pam_tally2.so den ...

  10. k8s-控制器deployment弹性扩容,更新镜像,回滚,DaemonSet,StatufluSet

    目录 1.控制器deployment,DaemonSet,StatufluSet 2.控制器-deployment 弹性扩容 方式1-修改配置清单 方式2-打标签 方式3-scale 更新镜像 方式1 ...