用于检测以下文本格式的正则表达式:@<10|asdffdfs>@

RegularExpression to detect below text format: @<10|asdffdfs>@

我需要在我的 iOS 应用程序中编写一个正则表达式来将字符串 @<Number|Text>@ 替换为 Text

@<Number|Text>@

例如

我不熟悉正则表达式,有人可以帮我吗?

我尝试过的:
@<(\d{1,})\|([\S]+)>@
@<(\d{1,})\|([\S\s]+)>@

P.S。欢迎任何其他解决方案。实际上我想做的是将 @<ID|NAME>@ 替换为 @NAME 并使 @NAME 可点击(我使用 TTTAttributedLabel),url 将是 goto://ID

您要搜索的正则表达式是@<\d+\|(.*?)>@。替换模板是 </code>.</p> <p>分解正则表达式:</p> <ul> <li><code>@< 将匹配表达式的前缀

  • \d+ 将匹配至少一个数字
  • \| 将匹配 | 字符
  • (.*?) 将匹配正则表达式的下一部分之前的任何字符 (>@);括号创建一个 sub-pattern,它被映射到替换字符串
  • 中的 </code> <li>最后,<code>>@会匹配模式的结尾

    ? 解决了 * 量词的贪婪问题,没有它 * 将无法用于最后一个示例,因为它将匹配第一个 [=12= 之间的任何内容] 和最后一个 >@.