-3

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

示例:在这个字符串中,"asdadadsa #12345 asdasdasd #67"我需要用. 我在java中工作,但我希望是一个普遍的问题#12345#67"com.package.name://#12345"

4

2 回答 2

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,2are 组索引引用匹配的部分。

所以这条线变成了:

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

newString应该有你的期望值。

于 2013-03-17T22:23:41.350 回答
0

我解决了使用:

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

谢谢

于 2013-03-17T23:05:18.703 回答