正则表达式

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

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. 常用Java API:HashMap 和 TreeMap

    摘要 本文主要介绍Map接口下的HashMap和TreeMap. HashMap HashMap是基于哈希表的 Map 接口的实现,是无序的 clear()//清空. containsKey(Obje ...

  2. ssh key公钥

    在ubuntu上生成ssh key 首先使用 ls -al ~/.ssh 查看本地是否已经有key 如果没有会显示如下: ~$ ls -al ~/.ssh ls: cannot access '/ho ...

  3. 链式A+B 牛客网 程序员面试金典 C++ Python

    链式A+B 牛客网 程序员面试金典 C++ Python 题目描述 有两个用链表表示的整数,每个结点包含一个数位.这些数位是反向存放的,也就是个位排在链表的首部.编写函数对这两个整数求和,并用链表形式 ...

  4. 整数转化 牛客网 程序员面试金典 C++ Python

    整数转化 牛客网 程序员面试金典 C++ Python 题目描述 编写一个函数,确定需要改变几个位,才能将整数A转变成整数B. 给定两个整数int A,int B.请返回需要改变的数位个数. 测试样例 ...

  5. QuantumTunnel:内网穿透服务设计

    背景 最近工作中有公网访问内网服务的需求,便了解了内网穿透相关的知识.发现原理和实现都不复杂,遂产生了设计一个内网穿透的想法. 名字想好了,就叫QuantumTunnel,量子隧道,名字来源于量子纠缠 ...

  6. js分支语句

    一.逻辑分支(选择结构,分支结构) 其实今天的课程才算开始涉及到逻辑 程序的三大结构 顺序结构 - 每天 代码逐行执行,一行一行自上而下执行 分支结构 有选择了,十字路口的选择,只能选择一个,如果.. ...

  7. rabbitMQ报错:Caused by: com.rabbitmq.client.ShutdownSignalException: connection error; protocol method:

    1.输入的机器的 IP:15672进入Raabitmq的登陆管理界面 点击admin,进去点击set permission ok, 在运行应该就不会包这个错了

  8. Mac 下安装 MySQL 步骤

    安装 MySQL Mac 下安装MySQL推荐去官网下载dmg 版本的,我使用的版本是5.7.30. 如上图所示. 之后就是傻瓜式一键狂点不过需要注意的是,不要关闭下图所示的框框!不要关闭下图所示的框 ...

  9. Python 爬取 妹子图(技术是无罪的)

    ... #!/usr/bin/env python import urllib.request from bs4 import BeautifulSoup def crawl(url): header ...

  10. CentOS 8.4安装Docker

    前言: Docker 是一个用于开发.传送和运行应用程序的开放平台.Docker 使您能够将应用程序与基础设施分开,以便您可以快速交付软件.使用 Docker,您可以像管理应用程序一样管理基础设施.通 ...