Java正则表达式

正则表达式的规则

“abc” 匹配字符串abc

[abc] 匹配[]里任意一个字符

[a-z]: 匹配所有小写字母中的任意一个字符

[A-Z]: 匹配所有大写字母中的任意一个字符

[a-zA-Z]: 匹配所有大小写字母中的  任意一个字符

[0-9]:   匹配所有数字中的任意一个数字

[^0-9]  匹配数字之外中的任意一个字符   (^ 取反操作)

\d   :匹配所有数字中的任意一个数字   等同于 [0-9]

\D  : 匹配所有非数字中的任意一个字符

\w: 匹配数字  字母  下划线中的任意一个字符

\W: 匹配  数字  字母  下划线  以外中的任意一个字符

\s: 匹配空白字符(空格 tab 换行符)中的任意一个字符

\S: 匹配空白字符之外的任意一个字符

.:匹配换行符(\n)以外的任意一个字符

?匹配 0-1个字符 {0,1}

+ 匹配1-n个字符   {1,}

*  匹配0-n字符       {0,}

{n}   固定长度n个

{n,} 最少长度n,最大不限制

{n,m} 最少长度n,最大m

() 子表达式

|  或者

^  以什么内容开头

$  以什么结尾

字符串匹配

例:以a开头数字在中间以b结尾

String st1=”a1122b”;

st1.matchs(regex:”a\\d*b”) 匹配则返回true

qq邮箱正则

regex:”\\d+@(qq|163)\\.com”

手机号

以1开头,357689是第二位

regex:”1[3,5,6,7,8,9]\\d{9}”

年龄0-150

“\\d|\\d{2}|1[0-4]\\d|150”

Java里的正则

1.通过正则类pattern、Matcher类

Pattern的compile()获取pattern对象

import java.util.regex.Pattern;

Pattern pattern=Pattern.compile(“正则”);//放在方法之外

Matcher match=pattern.macher(input:“字符串”);//返回Marcher对象

if(match.matches()){“匹配成功“}

2.

Pattern.matches(regex:””,input:””);成功返回值是true

Java学习笔记二——正则表达式的更多相关文章

  1. 【java学习笔记】正则表达式

    一.正则表达式 1.预定义字符集  . 表示任意一个字符 \d 表示任意一个数字 \w 表示任意一个单词字符(只能是数字.字母.下划线) \s 表示任意一个空白字符(\t\r\n\f\x0B) \D ...

  2. Java学习笔记二十九:一个Java面向对象的小练习

    一个Java面向对象的小练习 一:项目需求与解决思路: 学习了这么长时间的面向对象,我们只是对面向对象有了一个简单的认识,我们现在来做一个小练习,这个例子可以使大家更好的掌握面向对象的特性: 1.人类 ...

  3. 9.1(java学习笔记)正则表达式

    一.正则表达式 1.1正则表达式 正则表达式是描述一种规则,通过这个规则可以匹配到一类字符串. 2.1正则语法 2.1.1普通字符:字母.数字.下划线.汉字以及没有特殊意义的符号都是普通字符. 正则表 ...

  4. java学习笔记之正则表达式

    一般来说,正则表达式就是以某种方式来描述字符串,因此你可与说:"如果一个字符串符合有这些东西,那么它就是我正在找的东西. 1.要找一个数字,如果它可能有一个负号在最前面(可能没有,没有也是匹 ...

  5. 数组排序、递归——(Java学习笔记二)

    升序:      选择排序:         选定一个元素,一次和后面的元素相比较,如果选定的元素大雨后面的比较元素,就交换位置         先出现最小值,最后出现最大值. public stat ...

  6. Java学习笔记二:数据类型II

    GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/Intpractice3.java 一  Java中的数据类型 Java ...

  7. Java学习笔记二十八:Java中的接口

    Java中的接口 一:Java的接口: 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承 ...

  8. Java学习笔记二十七:Java中的抽象类

    Java中的抽象类 一:Java抽象类: 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就 ...

  9. Java学习笔记二十五:Java面向对象的三大特性之多态

    Java面向对象的三大特性之多态 一:什么是多态: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现. 现实中,比 ...

随机推荐

  1. BZOJ 2600: [Ioi2011]ricehub 双指针+贪心

    不难发现,当我们要选的区间确定后,一定会把仓库安排到中间的稻草上(如果是偶数个的话中间两个都行). 然后按照坐标从小到大枚举右指针,左指针一定不递减,双指针扫一下就行了. code: #include ...

  2. ent 基本使用十四 edge

    edge 在ent 中属于比较核心,同时也是功能最强大的,ent 提供了比较强大的关系模型 快速使用 参考图 以上包含了两个通过边定义的关系 pets/owner: user   package sc ...

  3. shell札记

    1.echo变量名的技巧 #! /bin/bash read -p "please input value a: " a declare -i ai=a echo -e " ...

  4. utility.py:61: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array in

    utility.py:: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; ...

  5. python: isdigit int float 使用

    >>> num1 = '2.0' >>> print num1.isdigit() False >>> num2 = ' >>> ...

  6. Redis Streams 介绍

    Stream是Redis 5.0版本引入的一个新的数据类型,它以更抽象的方式模拟日志数据结构,但日志仍然是完整的:就像一个日志文件,通常实现为以只附加模式打开的文件,Redis流主要是一个仅附加数据结 ...

  7. docker安装 与 基本配置

    1.安装docker #yum remove docker \ docker-common \ container-selinux \ docker-selinux \ docker-engine \ ...

  8. ModuleNotFoundError: No module named 'pymysql'

    出现此提示表示系统中没有安装PyMySQL,可以通过pip PyMySQL进行安装. 安装之后,执行import pymysql仍然不可用! why? 检查后发现系统中存在python2与python ...

  9. Shell命令行提示定制

    /******************************************************************************* * Shell命令行提示定制 * 说明 ...

  10. git 相关流程和报错解决

    git 相关流程: 预先配置: gitroot $ git config user.name XXXgitroot $ git config user.email XXX@XXX.com git re ...