Java基础高级一(正则表达式)
1.正则语法:元字符,量词,范围,组,属性
2.String类常用正则方法split,indexOf,replaceAll
3.Java正则类Pattern,Match而的使用
1.String常用方法回顾
String非常重要的类:使用频率高
charAt(int index)根据对应角标位获得字符
indexOf(String str) 根据一个字符串,获得角标位
substring(int beginIndex,int endIndex) 根据起始角标和终点角标,获得子字符串;截取字符串
split(String reg) 根据切割规则,把字符串切割成一个字符数组
2.传统和正则两种方式校验QQ合法性
字符可以直接和数字做比较
// 正则表达式;人为定义的规则,通过调用方法,把规则传给他
/* * 函数声明,1.是否有返回值,2.是否依赖第三方变量; 合法QQ满足条件:4~11位长;都是数字;不能以数字0开头;;;规则,定义规则,自动判断 */
// 1.先判断字符串长度,如果不满足4~11返回false
// 2.通过charAt拿到每一字符,和数字0~9比较:如果出现了非数字,返回false
// 3.再判断,首字符如果为0,直接返回false
// 4.返回true
3.正则语法基础
正则;其实就是规则,模式,主要用于操作字符串
主要目的:匹配一串字符串是否符合特定规则
从字符串获取我们想要的特定部分
字符类
[a,b,c] a或b或c
[^a,b,c]除了abc之外的任意字符
[a-zA-Z] 小写到大写 的任意字符
[a-d[m-p]]a到d或m到p 并集
[[a-z]&&[def]]
[[a-z]&&[^dg]]
预定义字符
.表示任意字符
\d 表示数字 [0-9]
\D 表示非数字
\s 空白字符
\S 非空白符
\w 单词字符[a-zA-Z_0-9]
\W 非单词字符
POSIX 字符
边界匹配器
^ 行的开头
$ 行的结尾
\b 单词边界
\B 非单词边界
\A 输入的开头
\G 上一个匹配的结尾
\Z 输入的结尾
\z输入的结尾
Greedy 数量词
4.匹配和切割(正则中组的用法)
正则常见操作(前3个都是面向字符串的)
匹配 .matches(String reg)
切割 .split(String reg)
替换 .replaceAll(String reg,String replacement)
获取.Pattern 把正则中的规定,人为定义的规则定义成一个类
1.先创建正则对象(这个类没有提供构造函数,不可以通过new关键字创建对象)
Pattern p=Pattern.complie("a*b");根据正则表达式转换为一个正则对象
Matcher m=p.matcher("abbbbb");匹配器,引擎
boolean b=m.matches();
5.替换(正则中$的用法)
6.获取(Pattern和Matcher)
Java正则类Pattern,Matcher
* * Pattern p=Pattern.complie("a*b");通过complie方法把表达式转成正则对象
*Matcher m=p.matcher("abbbbb");匹配器,引擎
*boolean b=m.matches(); *1.首先按面向对象的思想,把正则表达式也封装成对象pattern,但是该类没有构造函数,只能通过它的静态方法获取该类的实例 *2.通过正则对象获取,匹配器,因为匹配器需要依赖正则表达式和字符串,所以说需要他字符串作为参数传给获取匹配器的方法 *3.通过匹配器的相应方法完成想要的操作
*/
Java基础高级一(正则表达式)的更多相关文章
- java 基础知识八 正则表达式
java 基础知识八 正则表达式 正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待 ...
- Java 基础高级2 网络编程
1.协议的概念:通信双方事先约定好的通信规则 2七层网络通信协议:应用成,表示层,会话层,传输层,网络层,数据链路层 3.TCP/IP协议:点对点通信,三层握手,安全有保证 4.UDP协议;广播协议, ...
- Java基础高级二(多线程)
1.进程和线程的区别:线程是轻量级的,本省不会持太多资源,需要的时候向进程申请 2.线程的状态:创建,可执行,执行中,等待,休眠,阻塞 3.线程状态之间的转换 4.线程API:Thread类,Runn ...
- [Java基础复习] -- x. 正则表达式的使用
序号待定, 先用x占位表示 理论知识待完善, 先贴上代码 import java.util.regex.Matcher; import java.util.regex.Pattern; import ...
- Java基础高级部分(一)
1. 集合部分 1.1 HashMap排序 package cn.Douzi.hashMap01; import java.util.ArrayList; import java.util.Colle ...
- Java 基础 常用API ( 正则表达式,Date类,DateFormat类,Calendar类 )
正则表达式 正则表达式的概念 正则表达式(英语:Regular Expression,在代码中常简写为regex). 正则表达式是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个 ...
- java基础高级2 MySQL 高级
1.数据库简介 DDL(数据定义语言) DML(数据操作语言) 2. 准备工作 解压缩文件目录下找到my.ini文件,文件中写入[mysql] default-character set= utf-8 ...
- Java基础高级篇 NIO
nio模型与io模型的对比 netty 是什么 怎么使用
- [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)
如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html 谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...
随机推荐
- Java学习笔记(四)
字符串 字符串应用主要分为String类操作与字符串生成器 在程序中频繁的进行附加字符串则使用字符串生成器StringBuilder 数组 概述 数组是具有相同数据类型的一组数据的集合 数组创建 先声 ...
- EF增删库查
public async Task<bool> Add(fu_ocrresult model) { using (var db = new GENEModel()) { //1.将实体对象 ...
- 【poj2096】 Collecting Bugs
http://poj.org/problem?id=2096 (题目链接) 题意 有一个程序,其中有s个子结构,每个子结构出bug的概率相等.bug总共分成n类,每种bug出现的概率相等.每天找出一个 ...
- SQLIte Transaction
基本概念 事务(Transaction)是指一个或多个更改数据库的扩展.例如,如果您正在创建一个记录或者更新一个记录或者从表中删除一个记录,那么您正在该表上执行事务.重要的是要控制事务以确保数据的完整 ...
- javascript 容易忽略的小知识点 new到底做了什么?
问题:平时我们经常写 var ss = new Person():ss就是一个由'Person类'生成的对象了,可是我们的Person方法里却没有写 return: (var ss= Person() ...
- Cookie和Session的区别
前言 HTTP是一种无状态的协议,为了分辨链接是谁发起的,就需要我们自己去解决这个问题.不然有些情况下即使是同一个网站我们每打开一个页面也都要登录一下.而Session和Cookie就是为解决这个问题 ...
- 机器学习笔记----Fuzzy c-means(FCM)模糊聚类详解及matlab实现
前言:这几天一直都在研究模糊聚类.感觉网上的文档都没有一个详细而具体的讲解,正好今天有时间,就来聊一聊模糊聚类. 一:模糊数学 我们大家都知道计算机其实只认识两个数字0,1.我们平时写程序其实也是这样 ...
- tomcat 动态部署
还可以在conf目录下依次创建Catalina\localhost目录,然后在localhost目录下为 test 这个Web应用程序建立 test.xml 文件,编辑这个文件输入以下内容 从Tomc ...
- php程序 注册机制
密码加密方式 1.直接md5加密 2.md5和随机数(也可以是固定参数,如(Rfd4WE784)) 3.md5(md5) 4. 参考 function sp_password($pw,$authcod ...
- iTunes Connect 显示可供销售,但是AppStore 就是不显示新版本(异于往常版本更新)
这次版本更新,从上传到审核通过不足8小时.由于是手动发布,第二天早上上班发布了新版本.但是不同于往常,这次等了很久也不见AppStore 更新新版本.检查一下iTunes Connect ,显示可供销 ...