用于检测以下文本格式的正则表达式:@<10|asdffdfs>@
RegularExpression to detect below text format: @<10|asdffdfs>@
我需要在我的 iOS
应用程序中编写一个正则表达式来将字符串 @<Number|Text>@
替换为 Text
。
@<Number|Text>@
例如
@<12|abcd>@
将是 abcd
@<1|I am a good boy>>>>>@
将是 I am a good boy>>>>
@<a|abcd>@
没有变化,因为第一部分不是数字
@<0|god bless me@>>@
将是 god bless me@>
@<01212|I love you!>@ Do you love me? @<0222| No, I love your sister>@
将是 I love you! Do you love me? No, I love your sister
我不熟悉正则表达式,有人可以帮我吗?
我尝试过的:
@<(\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= 之间的任何内容] 和最后一个 >@
.
我需要在我的 iOS
应用程序中编写一个正则表达式来将字符串 @<Number|Text>@
替换为 Text
。
@<Number|Text>@
例如
@<12|abcd>@
将是abcd
@<1|I am a good boy>>>>>@
将是I am a good boy>>>>
@<a|abcd>@
没有变化,因为第一部分不是数字@<0|god bless me@>>@
将是god bless me@>
@<01212|I love you!>@ Do you love me? @<0222| No, I love your sister>@
将是I love you! Do you love me? No, I love your sister
我不熟悉正则表达式,有人可以帮我吗?
我尝试过的:
@<(\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= 之间的任何内容] 和最后一个 >@
.