正则表达式

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

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. 深入理解xLua基于IL代码注入的热更新原理

    目前大部分手游都会采用热更新来解决应用商店审核周期长,无法满足快节奏迭代的问题.另外热更新能够有效降低版本升级所需的资源大小,节省玩家的时间和流量,这也使其成为移动游戏的主流更新方式之一. 热更新可以 ...

  2. 转载: VIVADO的增量综合流程

    http://xilinx.eetrend.com/content/2019/100044286.html 从 Vivado 2019.1 版本开始,Vivado 综合引擎就已经可以支持增量流程了.这 ...

  3. path-sum-ii leetcode C++

    Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given su ...

  4. sum-root-to-leaf-numbers leetcode C++

    Given a binary tree containing digits from0-9only, each root-to-leaf path could represent a number. ...

  5. nod_1009 数字1的数量(分析题)

    题意: 给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个数. 例如:n = 12,包含了5个1.1,10,12共包含3个1,11包含2个1,总共5个1. Input 输入 ...

  6. html5的Message信息提示框

    1.定义dialog <dialog id="showDialog"> <div>您没有权限访问本页面!</div> </dialog&g ...

  7. Docker 制作Nginx镜像

    参考文章:https://www.jianshu.com/p/dc4cd0547d1e 镜像的制作方式有两种,一种是下载别人的镜像之后再制作成自己的镜像,一种是从头开始制作自己的镜像 第一种,下载别人 ...

  8. 【性能测试】常见的性能问题分析思路(二)案例&技巧

    上一篇介绍了性能问题分析的诊断的基本过程,还没看过的可以先看下[性能测试]常见的性能问题分析思路-道与术,精炼总结下来就是,当遇到性能问题的时候,首先分析现场,然后根据现象去查找对应的可能原因,在通过 ...

  9. Matlab画colormap的一种色彩搭配方法

    声学与振动数据分析经常需要画colormap,来识别是结构频率共振,还是激励源阶次问题,比如图1,横坐标表示电机的转速,负值表示CW(顺时针)方向转动,正值表示CCW逆时针方向转动.Y轴表示对应的声音 ...

  10. 线程私有数据TSD——一键多值技术,线程同步中的互斥锁和条件变量

    一:线程私有数据: 线程是轻量级进程,进程在fork()之后,子进程不继承父进程的锁和警告,别的基本上都会继承,而vfork()与fork()不同的地方在于vfork()之后的进程会共享父进程的地址空 ...