选择匹配符 |
需求:
在匹配字符的时候有选择性,即:既可以匹配这个,又可以匹配那个,这时需要用到选择匹配符号 |
代码演示:
import java.util.regex.Matcher;import java.util.regex.Pattern;public class Main {public static void main(String[] args) {String a = "weitianyuwhy魏";String str = "wei|魏|why";Pattern pattern = Pattern.compile(str);Matcher matcher = pattern.matcher(a);while(matcher.find()){System.out.println("找到:" + matcher.group(0));}}}
限定符
代码演示:
import java.util.regex.Matcher;import java.util.regex.Pattern;public class Main {public static void main(String[] args) {String a = "w111111wwww";// String str = "w{3}";//表示匹配www// String str = "1{4}";//表示匹配1111// String str = "\\d{2}";//表示匹配两位的任意数字字符//细节:java匹配默认贪婪匹配,即尽可能匹配多的//此处结果为wwww// String str = "w{3,4}";//表示匹配www或者wwww// String str = "\\d{2,4}";//表示匹配2,或3或4位数//1+// String str = "1+";//表示匹配一个1或者多个1// String str = "\\d+";//表示匹配一个数字或多个数字//1*// String str = "1*";//表示匹配0个1或者多个1//? 遵守贪婪匹配String str = "w1?";//表示匹配a或者a1Pattern pattern = Pattern.compile(str);Matcher matcher = pattern.matcher(a);while(matcher.find()){System.out.println("找到:" + matcher.group(0));}}}
定位符
定位符,规定匹配的字符串出现的位置,比如在字符串的开始还是结束位置。
代码演示:
import java.util.regex.Matcher;import java.util.regex.Pattern;public class Main {public static void main(String[] args) {String a = "123abc";//表示以至少一个数字开头,后接任意一个小写字母的字符串// String str = "^[0-9]+[a-z]*";//表示以至少一个数字开头,必须以至少一个小写字母结束String str = "^[0-9]+[a-z]$";Pattern pattern = Pattern.compile(str);Matcher matcher = pattern.matcher(a);while(matcher.find()){System.out.println("找到:" + matcher.group(0));}}}
import java.util.regex.Matcher;import java.util.regex.Pattern;public class Main {public static void main(String[] args) {String a = "wty123abcwty 12wty 法 ff wty";//表示匹配边界wty[这里的边界是指:被匹配的字符串最后,也可以是空格的子串后面]// String str = "wty\\b";String str = "wty\\B";//与\\b相反Pattern pattern = Pattern.compile(str);Matcher matcher = pattern.matcher(a);while(matcher.find()){System.out.println("找到:" + matcher.group(0));}}}

