当前位置: 主页 > JAVA语言

java数字正则表达式-正则表达式 java

发布时间:2023-02-08 16:21   浏览次数:次   作者:佚名

一、概念

正则表达式,又称正则表达式。 (英文:Regular Expression,在代码中常简称为regex、regexp或RE),计算机科学中的一个概念。 正则表达式通常用于检索和替换与特定模式(规则)匹配的文本。 很多语言都支持正则表达式,比如Perl、PHP、Java、Python、Ruby等。当然在Java中,你也可以通过处理字符串的方式来检索和替换文本字符串,但是用正则表达式编写代码更加简洁。 通常,两三行代码就可以达到目的。 当然,这也是建立在熟悉正则表达式的基础上的。 基于表达式。

二、正则表达式的规则

1.任意字符表示匹配任意对应的字符java数字正则表达式,比如a匹配a,7匹配7,-匹配-。

2、[]表示匹配方括号中的任意一个字符,如[abc]匹配a或b或c。

3.-括号内和outside意思不同,如outside匹配-,if括号内的[ab]表示匹配26个小写字母中的任意一个; [a-zA-Z]匹配大小写共52个字母中的任意一个; [0-9] 匹配十个数字中的任何一个。

4、方括号内的^和括号外的^含义不同。 如果它在外面,那就意味着开始。 例如^7[0-9]表示匹配以7开头,第二位为任意数字的字符串; 如果在括号内,则表示匹配除此字符以外的任意字符(包括数字和特殊字符),如[^abc]表示匹配除abc以外的任意字符。

5.. 表示匹配任意字符。

6. \d 代表一个数字。

7. \D 表示不是数字。

8.\s表示由空字符组成,[\t\n\r\x\f]。

9.\S表示由非空字符组成,[^\s]。

10.\w代表字母、数字、下划线、[a-zA-Z0-9_]。

11.\W表示不是由字母、数字、下划线组成。

java 注释 正则表达式_java数字正则表达式_正则表达式 java

12.?:表示出现 0 次或 1 次。

13.+ 表示出现 1 次或多次。

14.* 表示出现 0 次、1 次或多次。

15. {n}表示n次。

16.{n,m}表示出现n~m次。

17. {n,}表示n次或n次以上。

18.XY表示X后面跟着Y,其中X和Y分别是正则表达式的一部分。

19、X|Y表示X或Y,如“food|f”匹配foo(d或f),“(food)|f”匹配food或f。

20. (X)子表达式,把X看成一个整体。

2. Java正则表达式的写法

java中调用正则表达式的类有java.util.regex.Matcher和java.util.regex.Pattern,从jdk1.4开始提供了java.util.regex包。 有几种使用正则表达式的方法。

1.只是匹配

1). 实现方法 1、匹配一个号码。

公共无效正则表达式1(){

java 注释 正则表达式_java数字正则表达式_正则表达式 java

// 要匹配的字符

字符串 str = "8";

// 正则表达式

字符串正则表达式 = "[0-9]";

//返回匹配结果,匹配成功返回true,匹配失败返回false,本次匹配返回true。

布尔标志 = 模式。 匹配(正则表达式,海峡);

System.out.println(标志);

}

2). 实现方法二,匹配3到5个字母,不分大小写java数字正则表达式,包括3和5。

公共无效正则表达式2(){

// 要匹配的字符

String str = "你好";

// 正则表达式

字符串正则表达式 = "[a-zA-Z]{3,5}";

java数字正则表达式_java 注释 正则表达式_正则表达式 java

//输出匹配结果,本次匹配返回true。

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

}

3). 实现方式3(这种实现方式最快),匹配11位电话号码,匹配规则:第一个数字为1,第二个数字为2、3、7、8中的任意一个,后面的9 4不是包含在数字中。

公共无效正则表达式3(){

// 要匹配的字符

字符串 str = "15387295596";

// 正则表达式

字符串正则表达式 = "1[2378][0-35-9]{9}";

// 将给定的正则表达式编译成一个模式。 如果匹配需求很多,需要用同一个regex来匹配,可以把这句话写在static模块中,使用的时候直接使用实例p

模式 p = Pattern.compile(regex);

//创建一个匹配给定输入与此模式的匹配器。

匹配器 m = p。 匹配器(str);

// 尝试将整个区域与模式匹配。

正则表达式 java_java 注释 正则表达式_java数字正则表达式

布尔标志 = m。 火柴();

//输出匹配结果,这次结果为真

System.out.println(标志);

}

2. 更换。

公共无效正则表达式替换(){

// 要匹配的字符

字符串 str = "12a6B985Ccv65";

// 正则表达式

字符串正则表达式 = "[a-zA-Z]+";

// 正则表达式

字符串 regex2 = "\\d+";

//用&符号替换字符串中的中英文字母,输出12&6&985&65

System.out.println(str.replaceAll(regex, "&"));

java 注释 正则表达式_java数字正则表达式_正则表达式 java

//用0替换字符串中的单个数字或连续数字,输出0a0B0Ccv0

System.out.println(str.replaceAll(regex2,"0"));

}

3.剪切,将字符串按照大写字母剪切。

public void outputStr() {

String str = "oneTtowTthreeDfourJfive";

字符串正则表达式 = "[AZ]";

字符串[] arr = str。 拆分(正则表达式);

对于(字符串 s:arr){

System.out.print(s + " ");

}

}

输出:一拖三四五

2019-07-14