可以使用单引号代替尖括号
发布时间:2025-06-24 17:40:13 作者:北方职教升学中心 阅读量:778
匹配一组字符
- 4.1、使用元字符
5.1、重复匹配
- 6.1、
A-z
,匹配从ASCIⅡ字符A到ASCI字符z的所有字母。
4.3、
8.2、回溯引用
- 9.1、向前查找
向前查找指定了一个必须匹配但不在结果中返回的模式。匹配纯文本
有多个匹配结果,使用全局匹配:
字母大小写,使用i标志忽略大小写:
Stringstr ="Hello, my name is Ben. \n"+"Please visit my website at http:www.baidu.com.";//全局匹配Stringpattern ="my";Patternr =Pattern.compile(pattern);Matcherm =r.matcher(str);while(m.find()){System.out.println(m.group());}//忽略大小写pattern ="h";r =Pattern.compile(pattern,Pattern.CASE_INSENSITIVE);m =r.matcher(str);while(m.find()){System.out.println(m.group());}
3.2、单词边界
- 7.2、回溯引用
9.1、Java中的正则表达式
2.1、它是一个非捕获匹配。
Stringcontent ="Windows2000 Windows3.1";StringregStr ="Windows(?!95|98|NT|2000)";Patternpattern =Pattern.compile(regStr);Matchermatcher =pattern.matcher(content);while(matcher.find()){System.out.println(matcher.group(0));// System.out.println(matcher.group(1));//错误,并不会捕获分组}Stringres =matcher.replaceAll("@@@@@");System.out.println(res);// Windows// Windows2000 @@@@@3.1
3、向后查找
- 10.3、回溯引用匹配
- 9.2、例如,'
Windows (?!95|98|NT|2000)
'匹配"Windows 3.1
"中的"Windows
",但是不匹配"Windows 2000
"中的"Windows
"。操作符 说明 (?=)
正向前查找 (?!)
负向前查找 (?<=)
正向后查找 (?<!)
负向后查找 Stringstr ="I paid $30 for 100 apples,\n"+"50 oranges, and 60 pears.\n"+"I saved $5 on this order.";//只查找数量,负向后查找,匹配结果只包含那些不以$开头的数值Stringpattern ="\\b(?<!\\$)\\d+\\b";Patternr =Pattern.compile(pattern);Matcherm =r.matcher(str);while(m.find()){System.out.println(m.group());}
- 9.1、向前查找