java 正则表达是学习

Java学习——正则表达式 Java正则表达式实用指南 本文系统介绍了Java正则表达式的核心用法与技术要点: 核心功能 文本验证:邮箱、手机号等格式校验 文本处理:搜索提取、替换清洗、分割字符串 常用模式:数字匹配(\d)、字符集([])、边界控制(^$)、分组捕获(()) Java实现流程 编译模式:Pattern.compile() 创建匹配器:pattern.matcher() 执行匹配:matches()/find()/group() 关键技术点 元字符分类:基本、字符类、量词、分组等 限定修饰符:贪婪/惰性模式 进阶特性: 阅读详情

正则表达式

 

(1)查询:
  以下是代码片段:
  String str="abc efg ABC";

  String regEx="a|f"; //表示a或f

    Pattern p=Pattern.compile(regEx);

  Matcher m=p.matcher(str);

  boolean rs=m.find();
  
  如果str中有regEx,那么rs为true,否则为flase。如果想在查找时忽略大小写,则可以写成Pattern p=Pattern.compile(regEx,Pattern.CASE_INSENSITIVE);

 (2)提取:
  以下是代码片段:
  String regEx=".+/(.+)$";

  String str="c:/dir1/dir2/name.txt";

  Pattern p=Pattern.compile(regEx);

  Matcher m=p.matcher(str);

  boolean rs=m.find();

  for(int i=1;i<=m.groupCount();i++){

  System.out.println(m.group(i));

  }
  
  以上的执行结果为name.txt,提取的字符串储存在m.group(i)中,其中i最大值为m.groupCount();  
 (3)分割:

  以下是代码片段:

  String regEx="::";

  Pattern p=Pattern.compile(regEx);

  String[] r=p.split("xd::abc::cde");

  执行后,r就是{"xd","abc","cde"},其实分割时还有跟简单的方法:

  String str="xd::abc::cde";

  String[] r=str.split("::");
  
  (4)替换(删除):

  
  以下是代码片段:

  String regEx="a+"; //表示一个或多个a

  Pattern p=Pattern.compile(regEx);

  Matcher m=p.matcher("aaabbced a ccdeaa");

  String s=m.replaceAll("A");rn p=Pattern.compile
  
  结果为"Abbced A ccdeA"
 
  如果写成空串,既可达到删除的功能,比如:
  
  String s=m.replaceAll("");
  
  结果为"bbced ccde"

  附:
  
  /D 等於 [^0-9] 非数字
  /s 等於 [ /t/n/x0B/f ] 空白字元
  /S 等於 [^ /t/n/x0B/f ] 非空白字元
  /w 等於 [a-zA-Z_0-9] 数字或是英文字  
  /W 等於 [^a-zA-Z_0-9] 非数字与英文字
  
  ^ 表示每行的开头
  $ 表示每行的结尾

 

 

java常用正则表达式

 

import java.util.regex.Matcher;

import java.util.regex.Pattern;

 

/**

 * @author        Der    

 * @date          2006-10-23

 * @packeage_name regex

 * 

 */

public class RegexChk

{

 

public  boolean startCheck(String reg,String string)

{

boolean tem=false;

Pattern pattern = Pattern.compile(reg);

Matcher matcher=pattern.matcher(string);

tem=matcher.matches();

return tem;

}

 

         /**

* 检验整数,适用于正整数、负整数、0,负整数不能以-0开头, 

          * 正整数不能以0开头

* 

* */

public boolean checkNr(String nr)

{

String reg="^(-?)[1-9]+//d*|0";

return startCheck(reg,nr);

}

 

/**

* 手机号码验证,11位,不知道详细的手机号码段,只是验证开头必须是1和位数

* */

public boolean checkCellPhone(String cellPhoneNr)

{

String reg="^[1][//d]{10}";

return startCheck(reg,cellPhoneNr);

}

/**

* 检验空白符

* */

public boolean checkWhiteLine(String line)

{

String regex="(//s|//t|//r)+";

return startCheck(regex,line);

}

/**

* 检查EMAIL地址

* 用户名和网站名称必须>=1位字符

* 地址结尾必须是以com|cn|com|cn|net|org|gov|gov.cn|edu|edu.cn结尾

* */

public boolean checkEmailWithSuffix(String email)

{

String regex="//w+//@//w+//.(com|cn|com.cn|net|org|gov|gov.cn|edu|edu.cn)";

return startCheck(regex,email);

}

/**

* 检查EMAIL地址

* 用户名和网站名称必须>=1位字符

* 地址结尾必须是2位以上,如:cn,test,com,info

* */

public boolean checkEmail(String email)

{

String regex="//w+//@//w+//.//w{2,}";

return startCheck(regex,email);

}

/**

* 检查邮政编码(中国),6位,第一位必须是非0开头,其他5位数字为0-9

* */

public boolean checkPostcode(String postCode)

{

String regex="^[1-9]//d{5}";

return startCheck(regex,postCode);

}

/**

* 检验用户名

* 取值范围为a-z,A-Z,0-9,"_",汉字,不能以"_"结尾

* 用户名有最小长度和最大长度限制,比如用户名必须是4-20位

* */

public boolean checkUsername(String username,int min,int max)

{

String regex="[//w/u4e00-/u9fa5]{"+min+","+max+"}(?<!_)";

return startCheck(regex,username);

}

/**

* 检验用户名

* 取值范围为a-z,A-Z,0-9,"_",汉字,不能以"_"结尾

* 有最小位数限制的用户名,比如:用户名最少为4位字符

* */

public boolean checkUsername(String username,int min)

{

//[//w/u4e00-/u9fa5]{2,}?

String regex="[//w/u4e00-/u9fa5]{"+min+",}(?<!_)";

return startCheck(regex,username);

}

/**

* 检验用户名

* 取值范围为a-z,A-Z,0-9,"_",汉字

* 最少一位字符,最大字符位数无限制,不能以"_"结尾

* */

public boolean checkUsername(String username)

{

String regex="[//w/u4e00-/u9fa5]+(?<!_)";

return startCheck(regex,username);

}

/**

*  查看IP地址是否合法

* */

public boolean checkIP(String ipAddress)

{

String regex="(//d{1,2}|1//d//d|2[0-4]//d|25[0-5])//." +

    "(//d{1,2}|1//d//d|2[0-4]//d|25[0-5])//." +

    "(//d{1,2}|1//d//d|2[0-4]//d|25[0-5])//." +

    "(//d{1,2}|1//d//d|2[0-4]//d|25[0-5])";

return startCheck(regex,ipAddress);

}

/**

* 验证国内电话号码

* 格式:010-67676767,区号长度3-4位,必须以"0"开头,号码是7-8位

* */

public boolean checkPhoneNr(String phoneNr)

{

String regex="^[0]//d{2,3}//-//d{7,8}";

return startCheck(regex,phoneNr);

}

/**

* 验证国内电话号码

* 格式:6767676, 号码位数必须是7-8位,头一位不能是"0"

* */

public boolean checkPhoneNrWithoutCode(String phoneNr)

{

String reg="^[1-9]//d{6,7}";

return startCheck(reg,phoneNr);

}

/**

* 验证国内电话号码

* 格式:0106767676,共11位或者12位,必须是0开头

* */

public boolean checkPhoneNrWithoutLine(String phoneNr)

{

String reg="^[0]//d{10,11}";

return startCheck(reg,phoneNr);

}

/**

* 验证国内身份证号码:15或18位,由数字组成,不能以0开头

* */

public boolean checkIdCard(String idNr)

{

String reg="^[1-9](//d{14}|//d{17})";

return startCheck(reg,idNr);

}

/**

* 网址验证<br>

* 符合类型:<br>

*         http://www.test.com<br>

*         http://163.com

* */

public boolean checkWebSite(String url)

{

//http://www.163.com

String reg="^(http)//://(//w+//.//w+//.//w+|//w+//.//w+)";

return startCheck(reg,url);

}

}

 

nRF52840 低功耗蓝牙开发指南:从硬件架构到物联网应用实战 本文深入解析nRF52840低功耗蓝牙芯片的硬件架构与开发实践,涵盖从开发环境搭建到BLE协议栈开发的详细指南。通过实战案例分享低功耗优化技巧,帮助开发者高效实现物联网应用,特别适合智能家居和工业场景。 阅读详情

相关推荐

黑群晖二合一已损毁_手动修复黑群晖已损毁磁盘空间

lz的用法是这样的,一个中古级mac mini 2011上装有vmware esxi 7.6, 然后上面挂载了lz的华芸Asustor Nas的iscsi空间,lz用的是basic volume,然后esxi上面有虚拟的黑群晖6.2.2-24922,黑群晖的docker里跑着不可描述软件,但是发现下载速度过快时,比如有好几个文件同时下载,总速度超过60MB/s以后storage manager里很...

weixin_39669629的博客 1万+

java正则匹配公司名称_Java应用正则表达式获取文本的章节名称

获取文本的章节,起首要断定则节的开端标准,一般中文的章节都是以“第”开首,第一章、第二章等。所以应用“^”字符来断定首位,然则很多时辰章节前面会有空白字符,所有以“第”作为章节的开端,进行以下的匹配^\\s第“\s”默示空白字符,加上“”默示0到多个空白字符,“^”默示是以空白字符加上“第作为开端的”。若是须要匹配的字符串不是在段落的开端,把“^”去掉即可。章节的序号格局不同一,有可能是阿拉伯数字...

weixin_29231027的博客 1234

开源机器学习平台tipdm

TipDM建模平台 tipdm开源的python机器学习建模平台,用户通过拖拉就可以实现模型开发。 项目结构 backend :为java后台服务代码 frontedn :为vue js前端代码 mock-oauth-server:为java认证服务代码 主要分析backend后台服务代码,典型的java spring mvc web项目,项目结构如下: framework-common:公共代码,主要为工具类,spring相关公用类 framework-model: 实体..

wflh323的专栏 4249

Java学习笔记——正则表达式

简介 正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为 regex、regexp 或 RE ),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。 Java 通过java.util.regex包支持正则表达式的的功能。 知识点 java.util.regex 这里只说明如何在 Java 中使用正则表达式,关于表...

黄小鑫的博客 217

ADS1220 STM32硬件SPI驱动程序

前一段时间温故了下标准库,使用的是F1系列芯片,测试程序。

随风飘零翼的博客 5770

Vivado 2021.1 实战:手把手教你用IEEE1735 V2加密你的Verilog源码(附完整TCL命令)

本文详细介绍了在Vivado 2021.1中使用IEEE1735 V2标准加密Verilog源码的全流程,包括许可证申请、密钥文件配置、TCL命令执行及加密后验证。通过实战步骤和完整TCL命令,帮助开发者有效保护FPGA设计知识产权,确保核心算法安全。

weixin_42706667的博客 191

Java6学习笔记40——JAVA中的正则表达

本文已搬家至【Java学习笔记】正则表达式

gnuhpc的专栏 1018

YOLO蒸馏原理篇之---MGD、CWD蒸馏

本文详细介绍了特征蒸馏中的两种经典有效方法,MGD和CWD蒸馏

qq_41920323的博客 3241

java正则表达式学习_Java正则表达式学习教程

本教程旨在帮助你驾驭Java正则表达式,同时也帮助我复习正则表达式。什么是正则表达式?正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。Java正则表达式和Perl的是最为相似的。Java正则表达式的类在 java.util.regex 包中,包括三个类:Pattern,Matcher和 PatternSyntaxE...

weixin_27180827的博客 198

13、HTML 表格创建与样式设置全攻略

本文全面介绍了HTML表格的创建与样式设置方法,涵盖表格行列添加、边框控制、行和列分组(thead、tbody、tfoot、colgroup)、宽度与高度设置、内边距与间距调整,以及表格对齐方式。同时提供了最佳实践建议、常见问题解决方案及综合示例代码,帮助开发者构建结构清晰、样式美观且兼容性强的HTML表格。

blue的专栏 97

Oracle DG库手动注册归档日志的两种方法

有的时候由于网络或各种原因,Oracle DG库服务器上可能缺少部分归档日志文件,导致DG库的MRP进程一直处于状态。此时我们可以手动从主库或其他DG拷贝归档日志到当前DG服务器,并对日志文件进行手动注册。

Sebastien23的博客 729

[ Java学习 ] 正则表达式与模式匹配

文章内容: 因为最近粗略了解学习了一下正则表达式,贴出我查阅过的,觉得比较好的正则表达式的文章链接,并且给出几段Java代码,可以用来测试自己学习掌握正则表达式的效果。 先贴出正则表达式的相关博文(都是超链接,可直接点击) 正则表达式全部符号解释 [原]正则表达式模式匹配入门 正则表达式30分钟入门教程 正则表达式学习参考 以及相关的Java代码...

weixin_30455661的博客 294

蓝桥杯 stm32 PWM 测量频率

参考 数据手册:比赛 的板子 上面有两个信号发生器,如下图。通过 扭动 可变电阻 (R40, R39), 来实现 PWM 频率的改变。PA15PB4。PA15,PB4分别使用TIM2_CH1TIM3_CH1来对频率进行捕获。

wuyiyu_的博客 2931

Java 正则表达式学习笔记

正则表达式是一种用于描述、匹配和处理文本模式的强大工具。在 Java 中,正则表达式主要通过`java.util.regex`包来实现。可用于验证输入、提取特定信息、替换文本等频繁使用字符串的场景。通过`Pattern`对象的`matcher`方法创建。将正则表达式字符串编译为`Pattern`对象。3. `matches()`:判断整个输入字符串是否与正则表达式完全匹配。1. `find()`:查找输入字符串与正则表达式匹配的下一个子字符串。2. `group()`:返回上一次匹配成功的子字符串。

weixin_74921249的博客 506

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【Java正则表达式】有了这个Java正则表达式学习大全,中级java工程师面试

机会是留给有准备的人,大家在求职之前应该要明确自己的态度,熟悉求职流程,做好充分的准备,把一些可预见的事情做好。对于应届毕业生来说,校招更适合你们,因为绝大部分都不会有工作经验,企业也不会有工作经验的需求。同时,你也不需要伪造高大上的实战经验,以此让自己的简历能够脱颖而出,反倒会让面试官有所怀疑。你在大学时期应该明确自己的发展方向,如果你在大一就确定你以后想成为Java工程师,那就不要花太多的时间去学习其他的技术语言,高数之类的,不如好好想着如何夯实Java基础。请转发本文支持一下。

2401_84140687的博客 801

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Java学习:正则表达

正则表达式学习

qq_50086023的博客 1308

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

黑马程序员 JAVA学习笔记 —— 正则表达式

android培训、java培训、期待与您交流!  android培训、java培训、期待与您交流!

Dunamis的专栏 493

Java学习之正则表达式快速入门

正则表达式到的简单入门笔记,语法中符号分类以及各个符号的使用案例!

404 Not Found 1339

【java-正则表达式学习】

正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。一个正则表达式是一种从左到右匹配主体字符串的模式。“Regular expression”这个词比较拗口,我们常使用缩写的术语“regex”或“regexp”。正则表达式可以从一个基础字符串中根据一定的匹配模式替换文本中的字符串、验证表单、提取字符串等等。想象你正在写一个应用,然后你想设定一个用户命名的规则,让用户名包含字符、数字、下划线和连字符,以及限制字符的个数,好让名字看起来没那么丑。

weixin_45442529的博客 969

【Java正则表达式】有了这个Java正则表达式学习大全,几乎不用看别的资料了

可能有人会问我为什么愿意去花时间帮助大家实现求职梦想,因为我一直坚信时间是可以复制的。我牺牲了自己的大概十个小时写了这片文章,换来的是成千上万的求职者节约几天甚至几周时间浪费在无用的资源上。上面的这些(算法与数据结构)+(Java多线程学习手册)+(计算机网络顶级教程)等学习资源《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!复制的。我牺牲了自己的大概十个小时写了这片文章,换来的是成千上万的求职者节约几天甚至几周时间浪费在无用的资源上。

2401_83916241的博客 801

JAVA正则表达式的学习

一、正则表达式的介绍 正则表达式(Regular Expression)是一种文本模式,它使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。 二 、正则表达式的作用 1.测试字符串内的模式。 例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。这称为数据验证。 2.替换文本。 可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。 3.基于模式匹配从字符串中提取子字符串。 可以查找文档内或输入域内特定的文本。 三、JAVA的正则表达式的使用 1.ja

qq_45739612的博客 957

Java正则表达式学习

// 过滤特殊字符 public static String StringFilter(String str) throws PatternSyntaxException { // 只允许字母和数字

碎虫 594

java正则表达式学习

好久没用博客了 一直在用笔记 无聊的时候吧自己的笔记弄得不错的整理好发到网上 贡献点 应该是好的 这是之前自己整理的java正则表达式的学习方法 从笔记上copy下来的 自我感觉良好 做实验要用 之前只是听说过正则表达式 完全没用过通过百度(虽然谷歌更学术文档更权威 但是百度的中文文档更多 所以再次提醒自己学英语) 准备: ①首先有一篇30分钟学会正则表达式反正百度出来都有这篇 并且比较靠前...

weixin_30608503的博客 86

Java学习笔记之正则表达式

正则表达式是一种强大而灵活的文本处理工具。使用正则表达式,我们可以以编程的方式,构造复杂的文本模式,并对输入的字符串进行搜索。一旦找到了匹配这些模式的部分,你就能够随心所欲地对它们进行处理。 1.创建正则表达式 正则表达式就是以某种方式描述字符串。比如说一个...

chuishanjiao2849的博客 195

我的java学习-正则表达式/数组

刚刚开始对java重新有了学习的动力,学习不能停止,我发现还是不停的学习加解题加上敲代码的方法,才能够加强自己对知识点的印象,记忆更深刻。这是我在csdn的第一篇微博。 今天在网上看到有朋友在请教问题,尝试解答一下,发现自己竟然一时卡顿写不出代码来,很慌,原来自己对这些代码的熟悉程度还是太低没记性,于是重新找资料,题目想办法解答一下。 1、正则表达式的问题 public static void m...

qq_43399072的博客 1245

JAVA中的正则表达式初步学习

JAVA中的正则表达式学习 前言: 经常会需要编写代码来验证用户输人,比如验证输入是否是一个数字,是否是一个全部小写的字符串,或者社会安全号。如何编写这种类型的代码呢?一个简单而有效的做法是使用正则表达式来完成这个任务。 **正则表达式 ( regular expression,简写为regex)**是一个字符串,用来描述匹配一个字符串集合的模式。对于字符串处理来说,正则表达式是一个强大的工具。可以使用正则表达式来匹配、替换和拆分字符串。 正则表达式的关键-------正则表达式语法 ...

qq_51973952的博客 287
上一篇: css好用的网站
下一篇: android开发教程
dong721
博客等级 码龄19年 5粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值