有人可以帮助我构建一个正则表达式来捕获"#"
字符串中的一个和一系列数字吗?
示例:在这个字符串中,"asdadadsa #12345 asdasdasd #67"
我需要用. 我在java中工作,但我希望是一个普遍的问题#12345
#67
"com.package.name://#12345"
你需要看看基本的正则表达式,谷歌一些教程/指南。
回到你的问题,试试这一行:
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
are 组索引引用匹配的部分。
所以这条线变成了:
String newString = str.replaceAll("#\\d+", "com.package.name://$0");
不newString
应该有你的期望值。
我解决了使用:
message.replaceAll("[#][0-9]+", "<a href=\"$0\">$0</a>");
谢谢