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. Longest Common Substring II SPOJ - LCS2 (后缀自动机)

    Longest Common Substring II \[ Time Limit: 236ms\quad Memory Limit: 1572864 kB \] 题意 给出\(n\)个子串,要求这\ ...

  2. SQL盲注学习-布尔型

    本次实验还是使用sqli-labs环境.在开始SQL盲注之前首先学习一下盲注需要用到的基础语法. 1.left()函数:left(str,lenth)它返回具有指定长度的字符串的左边部分. left( ...

  3. GoCN每日新闻(2019-11-10)

    GoCN每日新闻(2019-11-10) 1. Go Netpoll I/O多路复用构建原生网络模型之源码深度解析 https://taohuawu.club/go-netpoll-io-multip ...

  4. SpringBoot:使用Jenkins自动部署SpringBoot项目(一)环境准备

    1.安装JDK 1.在java官网下载linux下的安装包,上传到云服务器 /user/java 目录下 2.解压:tar xzvf jdk-8u161-linux-x64.tar.gz 3.为了好看 ...

  5. Android Studio 之 LiveData 的配合使用,底层数据变化,自动通知界面

    Android Studio 之 LiveData 的配合使用,底层数据变化,自动通知界面 viewModelWithLikeData.getLikeNumber().observe(this, ne ...

  6. 为 Nginx 添加 HTTP 基本认证(HTTP Basic Authentication)

    针对sudo apt-get install命令安装的nginx(默认会有/etc/nginx/conf.d) sudo apt-get install nginx 生成密码 printf " ...

  7. mysql将多条结果拼接成一条结果

    1,实际数据 SELECT resource_id, resource_type FROM res_resource_mount 2,拼接之后数据 SELECT c.resource_id, GROU ...

  8. java命名总结

    下文主要来源于网上,我做了一些编辑整理. “如果你不知道一件事物叫什么, 你就不知道它是什么. 如果你不知道这是什么, 你就不可能坐下来写代码.” ----萨姆·加德纳(Sam Gardiner) 1 ...

  9. File checksum

    File checksum https://golang.org/pkg/io/#Copy https://blog.iphpo.com/blog/2017/03/golang-產生檔案的md5-ha ...

  10. Python适合练手的项目

    原文地址:https://www.jianshu.com/p/039156321e30 项目地址:https://github.com/DeqianBai/Python-Project/tree/ma ...