导航:首页 > 编程语言 > 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正则工具类相关的资料

热点内容
卡尔曼滤波算法书籍 浏览:761
安卓手机怎么用爱思助手传文件进苹果手机上 浏览:837
安卓怎么下载60秒生存 浏览:796
外向式文件夹 浏览:229
dospdf 浏览:425
怎么修改腾讯云服务器ip 浏览:380
pdftoeps 浏览:486
为什么鸿蒙那么像安卓 浏览:730
安卓手机怎么拍自媒体视频 浏览:180
单片机各个中断的初始化 浏览:717
python怎么集合元素 浏览:475
python逐条解读 浏览:827
基于单片机的湿度控制 浏览:492
ios如何使用安卓的帐号 浏览:877
程序员公园采访 浏览:805
程序员实战教程要多长时间 浏览:968
企业数据加密技巧 浏览:129
租云服务器开发 浏览:807
程序员告白妈妈不同意 浏览:330
攻城掠地怎么查看服务器 浏览:595