导航:首页 > 编程语言 > java正则工具类

java正则工具类

发布时间:2022-07-26 02:43:41

‘壹’ java常用的几个正则方法

JAVA中正则表达式处理字符串的四个常用方法:匹配、分割、替换、截取。其跟字符串的常用函数相似,但是使用正则表达式会更简单、更加简洁。下面是具体的例子:

1 public class TestRegex {

2

3 public static void main(String[] args) {

4 String str = "";

5 String regex = "";

6

7 // 匹配

8 regex = "[1-9][a-z]";

9 getMatches(str, regex);

10

11 // 分割

12 str = "1a:abc123:";

13 regex = ":";

14 getSpilt(str, regex);

15

16 // 替换

17 str = "1223334444aaabbc";

18 String oldChar = "(.)\1+";

19 regex = "$1";

20 getReplace(str, oldChar, regex);

21

22 // 截取

23 str = "urlabc123";

24 regex = "(.*)";

25 getSubstring(str, regex);

26

27 }

28

29 public static void getMatches(String str, String regex) {

30 System.out.println(str.matches(regex));

31 }

32

33 public static void getSpilt(String str, String regex) {

34 String[] array = str.split(regex);

35 for (String t : array) {

36 System.out.println(t);

37 }

38 }

39

40 public static void getReplace(String str, String oldChar, String regex)
{

41 System.out.println(str.replaceAll(oldChar, regex));

42 }

43

44 public static void getSubstring(String str, String regex) {

45 Pattern p = Pattern.compile(regex);

46 Matcher m = p.matcher(str);

47 if (m.find()) {

48 System.out.println(m.group(1));

49 }

50 }

51 }

‘贰’ java正则表达式处理一段字符串得到指定字符后面的字符,

var b=""{hello:{"名字":"李四"}}""
var reg=new RegExp("李四","gi");
var a=ret.exec(b);

‘叁’ java正则匹配出所有类方法

java正则表达式提取需要用到Matcher类。
正则规则就是“一个数字加上大于等于0个非数字再加上结束符”
Pattern pattern
= Pattern.compile("(\\d)[^\\d]*$")
Matcher matcher
= pattern.matcher(s)
if(matcher.find())
System.out.println
(matcher.group(1)); } }

‘肆’ java正则表达式是什么

java正则表达式是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。

在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。

很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是*和?。如果你想查找某个目录下的所有的Word文档的话,你会搜索*.doc。在这里,*会被解释成任意的字符串。

和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号“-”,最后是7或8位数字的字符串(像010-12345678或0376-7654321)。

正则表达式的基本操作:

正则表达式定义:符合一定规则的表达式。

作用:用于专门操作字符串。

特点:用于一些特定的符号来表示一些代码操作。这样就简化书写。所以学习正则表达式,就是在学习一些特殊符号的使用。

好处:可以简化对字符串的复杂操作。

弊端:符号定义越多,正则越长,阅读性越差。

‘伍’ java工具类怎么定义

工具类的定义是以util或utils结尾,里面包含的变量和方法都必须要是静态的static方法,这样才能提供别人调用。

‘陆’ java 什么叫工具类

是包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量Vector类等)。集合类、时间处理模式、日期时间工具等各类常用工具包

‘柒’ 关于java工具类的理解 为什么java要提出个工具类的概念,按照面向对象的思想为什么不直接把工具

工具类其实就是对于String,Collection,IO等常用类的功能的扩展。比如IO读写文件。其实大多数时候我希望有一个文件路径,然后调个方法就直接得到文件内容(字符串或者字节数组形式)。

如果没有工具类,那么你每个读文件的地方都有一段重复的代码。所以,你肯定会被这个功能提取出来。那么,你提取出来放哪儿呀?要知道这个功能可是在任何类都能调用的。所以,我们就放在FileUtil里面了。

这样,你以后读取文件时,你就找FileUtil的read方法,直接调用即可。

为什么要将方法和变量都写成静态的。因为,这些方法我只是想调用一下,不需要牵扯工具类中的任何属性和变量,所以,我就没有必要实例化了(new)。既然不需要实例化了,那么就用静态就行了。

‘捌’ 如何使用java的正则表达式提取html标签

//我随便写了一个工具类,getRegexData就是那个方法,你可以根据你的需求稍加改动即可因为我使用的
//URL而不是HttpClient,所以数据是全部获取过来了,你自己改改吧!不懂再问我
packagecom.wdy.util;

importjava.io.IOException;
importjava.io.InputStream;
importjava.net.URL;
importjava.util.ArrayList;
importjava.util.List;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
/**
*工具类
*@authorWDY
*
*/
publicclassTool{
publicstaticvoidmain(String[]args){
System.out.println(getRegexData("<img[]*src.*?jpg"","<imgsrc="img1.jpg"><imgsrc="img2.jpg""));


try{
URLurl=newURL("http://www..com");
StringstringData=getStringFromInputStream(url.openStream());
System.out.println(stringData+"----------------------------------------");
System.out.println();

System.out.println(getRegexData("http://.{6,70}?(png|jpg)",stringData));
}catch(IOExceptione){
e.printStackTrace();
}
}
/**
*给一个正则表达式,和数据,将正则匹配到的数据全数取出来
*
*@paramregex
*@paramdata
*@returnList<String>
*/
publicstaticList<String>getRegexData(Stringregex,Stringdata){
Patternpattern=Pattern.compile(regex);
Matchermatcher=pattern.matcher(data);
List<String>resultList=newArrayList<String>();
intindex=0;//搜索的位置
Stringtemp="";
/*从指定位置查找,如果找到了,就继续执行下面的代码*/
while(matcher.find(index)){
temp=matcher.group();//将匹配到的数据取出来放到集合中去
resultList.add(temp);
index+=temp.length();//将查找位置放到此时找到的数据后面
System.out.println(index);
}
returnresultList;
}
/**
*将输入流装成字符串
*@paramis
*@return
*/
(InputStreamis)throwsIOException{

StringBuildersbl=newStringBuilder();
byte[]buff=newbyte[1024*8];
intlen;
inti=0;
while((len=is.read(buff))!=-1){
sbl.append(newString(buff,0,len,"utf-8"));
System.out.println(i++);
}
System.out.println(sbl.length());
returnsbl.toString();
}
}

‘玖’ java中正则表达式属于哪个包

java.util.regex包


下面有两个常用的正则表达式类


java.util.regex.Matcher

java.util.regex.Pattern


使用方式:


publicstaticvoidmain(String[]args){
//电话号码
StringregexPattern="^(\d{3,4}-)?\d{6,8}(-\d{1,6})?$";
Patternpattern=Pattern.compile(regexPattern);
Matchermatcher=pattern.matcher("86771588-888");

System.out.println("是否匹配:"+matcher.matches());
}

结果:

是否匹配:true
阅读全文

与java正则工具类相关的资料

热点内容
安卓手机拍照为什么总是抖动 浏览:250
汽车车载app如何下载 浏览:24
python复合型数据类型 浏览:375
登录服务器发生错误怎么回事 浏览:272
松下空气能压缩机 浏览:938
万能源码播放器 浏览:968
串口服务器如何转发 浏览:359
如何下载Ck电影部app 浏览:744
解压文具笔袋简单 浏览:288
android百度坐标转换 浏览:367
文件公私钥加密传输 浏览:665
python矩阵维度 浏览:927
华佗舌诊源码 浏览:897
解压压缩包有一个错误怎么办 浏览:966
怎么在手机上设立文件夹 浏览:232
云帮手服务器搭建教程 浏览:785
惠普默认存在哪个文件夹 浏览:493
建立桌面图标文件夹 浏览:86
python怎么跳过异常继续执行 浏览:315
单片机驱动可控硅 浏览:294