gpt4 book ai didi

iphone - 从正则表达式匹配组中删除尾随空格

转载 作者:行者123 更新时间:2023-12-03 20:35:59 25 4
gpt4 key购买 nike

我在 iPhone 上通过 RegKit 使用正则表达式库 icucore替换大字符串中的模式。

我正在寻找的模式看起来像这样

| hello world (P1)|

我将此模式与以下正则表达式相匹配

\|((\w*|.| )+)\((\w\d+)\)\|

当找到匹配项时,这会将输入字符串转换为 3 组,其中组 1(字符串)和组 3(括号中的字符串)是我感兴趣的。

我将这些格式化字符串转换为 html 链接,因此上面的内容将转换为

<a href="P1">Hello world </a>

我的问题是第三组中的尾随空格。当链接突出显示并加下划线时,会导致线条超出打印字符。

虽然我知道我可以提取所有匹配项并手动处理它们,但使用 icu 库的搜索和替换功能是一个更干净的解决方案,因此我宁愿不这样做。

一如既往地非常感谢

最佳答案

以下内容可以作为替代正则表达式吗?

\|((\w*|.| )+)\s+\((\w\d+)\)\| 插入额外的\s+ 会将空格拉到第一个分组之外.

尽管如此,鉴于您的示例和正则表达式,我不确定您为什么不这样做:

\|(.+)\s+\((\w\d+)\)\|

这会产生相同的效果。然而,你原来的正则表达式和我的更简单的正则表达式都会失败,但是:

| Hello World (P1)|并在同一条线上 | Hello World (P1)|

它将把它汇总为 1 场比赛。

关于iphone - 从正则表达式匹配组中删除尾随空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3143321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com