正则表达式以捕获#和一系列数字

时间:2013-03-17 22:13:15

标签: java regex

有人可以帮我构建一个正则表达式来捕获字符串中的"#"和一系列数字吗?

示例:此字符串中的"asdadadsa #12345 asdasdasd #67"我需要使用#12345之类的链接替换#67"com.package.name://#12345"。我在java工作,但我希望是一个普遍的问题

2 个答案:

答案 0 :(得分:2)

你需要看看基本的正则表达式,谷歌一些教程/指南。

回到你的问题,试试这一行:

String str ="asdadadsa #12345 asdasdasd #67";
String newString = str.replaceAll("#\\d+", "com.package.name://#12345");

然后newString将是:

asdadadsa com.package.name://#12345 asdasdasd com.package.name://#12345

编辑基于OP的评论

然后您可以$0, $1, $2...引用匹配的部分0,1,2是组索引。

所以这条线变成了:

String newString = str.replaceAll("#\\d+", "com.package.name://$0");

newString不应该有您的期望值。

答案 1 :(得分:0)

我决定使用:

message.replaceAll("[#][0-9]+", "<a href=\"$0\">$0</a>");

由于