正则表达式之使用
Posted lovejobs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式之使用相关的知识,希望对你有一定的参考价值。
一.JAVA复杂文本操作
---相关类 java.util.regex
---类Pattern
----正则表达式的编译表示形式
----Pattern p = Pattern.compiler(r,int);建立正则表达式,并启用相关模式
---类Matcher
----通过解释Pattern对character sequence执行匹配的操作的引擎
----Matcher m = p.matcher(str);//匹配字符串
1.使用正则表达式查找notepad++
2.eclips
3.在java中的使用
1 package com.hui.regex; 2 3 import java.util.regex.Matcher; 4 import java.util.regex.Pattern; 5 6 public class Test01 { 7 8 public static void main(String[] args) { 9 // 18700870982和i123huikl是否符合指定的表达式:[\\w]+ 10 Pattern p = Pattern.compile("[\\\\w]+"); //根据字符串正则表达式建立正则表达式对象 11 12 //创建要和正则表达式匹配的对象 13 Matcher m = p.matcher("18700870982i123huikl"); 14 Matcher m1 = p.matcher("18oifdfoo87700870;_!2i123huikllfkjglkfdjg123156rtoti"); 15 16 //判断整个字符串是否匹配 17 boolean yesorno = m.matches(); 18 boolean yesorno1 = m1.matches(); 19 System.out.println(yesorno); 20 System.out.println(yesorno1); 21 System.out.println("-------------------------------"); 22 23 //一直往下找匹配的,调用一次找一次 24 // boolean find1 = m1.find(); 25 // //找到内容 26 // System.err.println(m1.group()); 27 // 28 // System.out.println(m1.find()); 29 // //找到内容 30 // System.err.println(m1.group()); 31 // System.out.println(m1.find()); 32 // System.out.println(m1.find()); 33 while (m1.find()) { 34 System.out.println(m1.group()); 35 System.out.println(m1.group(0)); 36 } 37 System.out.println("-------------------------------"); 38 39 40 } 41 42 }
4.运行结果
5.分组
1 package com.hui.regex; 2 3 import java.util.regex.Matcher; 4 import java.util.regex.Pattern; 5 /* 6 * 分组的使用 7 */ 8 public class Test { 9 10 public static void main(String[] args) { 11 // 18700abc*870982i123huikl*12dsjk是否符合指定的表达式:[\\w]+ 12 Pattern p = Pattern.compile("([\\\\w][a-z]{2})([a-z])"); //根据字符串正则表达式建立正则表达式对象 13 14 //创建要和正则表达式匹配的对象 15 Matcher m = p.matcher("18700abc*870982i123huikl*12dsjk"); 16 17 while (m.find()) { 18 System.out.println(m.group()); 19 System.out.println(m.group(1)); 20 System.out.println(m.group(2)); 21 22 } 23 System.out.println("-------------------------------"); 24 25 26 } 27 28 }
6.运行结果
7.字符串的替换和分割
1 package com.hui.regex; 2 3 import java.util.Arrays; 4 import java.util.regex.Matcher; 5 import java.util.regex.Pattern; 6 /* 7 * 替换和分割的使用 8 */ 9 public class Test2 { 10 11 public static void main(String[] args) { 12 // 18700abc*870982i123huikl*12dsjk是否符合指定的表达式:[\\w]+ 13 Pattern p = Pattern.compile("[0-9]"); //根据字符串正则表达式建立正则表达式对象 14 15 //创建要和正则表达式匹配的对象 16 Matcher m = p.matcher("18700abc*870982i123huikl*12dsjk"); 17 18 String newstring = m.replaceAll("#"); 19 System.out.println(newstring); 20 System.out.println("-------------------------------"); 21 //分割字符串 22 String str = "dsjhdkljfdk213figofio5456poptror"; 23 String[] split = str.split("[0-9]+"); 24 System.out.println(Arrays.toString(split)); 25 26 27 } 28 29 }
8.运行结果
以上是关于正则表达式之使用的主要内容,如果未能解决你的问题,请参考以下文章
asp.net 使用正则表达式验证包含打开/关闭括号片段的属性字符串