java - 正则表达式:匹配并替换字符串中的模式,同时将匹配字符串的一部分保留在替换字符串中

标签 java javascript regex

我有一个像

这样的字符串
@jhon.p @[User:151|Jhon Carter] Jhon Carter @sunil.p @[User:102|Sunil Nadar] Sunil Nadar

我想将 javascript 或 Java 中的正则表达式应用于上述字符串以获得输出

@jhon.p <a href="#/users/151">Jhon Carter</a> @sunil.p <a href="#/users/102">Sunil Nadar</a>

知道我该怎么做吗?

最佳答案

你可以使用这个正则表达式来匹配

@\[User:(\d+)\|(.*?)\]\s*\2

然后您可以使用它来替换 $1 $2 引用组的位置。

<a href="#/users/$1">$2</a>

关于java - 正则表达式:匹配并替换字符串中的模式,同时将匹配字符串的一部分保留在替换字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13027687/

相关文章:

javascript - 如何在 typescript 中获取 "this"类型

javascript - 正则表达式与 JavaScript

java - Spring 形式 : BindException when submiting large list of objects

java - 类型的未定义方法

javascript - 无法理解 Javascript 中的后缀增量运算符

javascript - RegExp 的测试字符串中是否可以进行代码注入(inject)?

用于将字符串转换为元组的正则表达式

java - 3Sum的两个相似算法之间的区别?

java - 如何在 JList 中启用拖放

javascript - 为什么我的 for 循环只运行一次 if 语句?