黑马程序员技术交流社区
标题:
关于正则表达式的一个问题? 谁会?
[打印本页]
作者:
金曦
时间:
2012-11-4 21:28
标题:
关于正则表达式的一个问题? 谁会?
str.replaceAll("a([bcd])", "$1")
请问上面的正则表达式是什么意思?
其中的 $1又是什么意思?
作者:
梁锡伟
时间:
2012-11-4 21:34
把所有xxx的字符窜 替换为$1 。。。。不记得了,得看pattern这个类的api说明。
xxx 大概是ab ac ad ,查文档吧
作者:
朱宏青
时间:
2012-11-4 22:22
.replaceAll这个方法是用来替换字符的。
("a([bcd])", "$1")的意思是将"ab,ac,ad"都替换成"$1"。
差不多就是这样。
作者:
王虎
时间:
2012-11-4 22:54
"a([bcd])", "$1"
左边这个参数"a([bcd])": a表示第一位的字符;([abc])表示第二个字符是abc中的某一个,加括号表示凡是符合a,b,c这三个字符范围中的划分为一组,这个叫做规则服用
右边的参数"$1" :表示引用划分好的组的规则
举个例子:假定一个字符串afabac,用完方法后变成afbc
作者:
陈云展
时间:
2012-11-4 23:54
自已经过查找。和楼上的答案。以及思考。写了下面的代码。你可以参考下。
package com.snow;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class T {
public static void main(String[] args) {
String str = "afabacad";
String str1 = "afabacad";
System.out.println(str);
Matcher matcher = Pattern.compile("a([bcd])").matcher(str);
while(matcher.find()){
System.out.println(matcher.group(0));
System.out.println(matcher.group(1));
//System.out.println(matcher.group(2));
}
str = str.replaceAll("a([bcd])", "$0");
str1 = str1.replaceAll("a([bcd])", "$1");
System.out.println(str);
System.out.println(str1);
//test();
}
}
复制代码
作者:
小学生0987
时间:
2012-11-7 19:19
4楼正解
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2