gpt4 book ai didi

ios - 正则表达式在一行特殊字符之前分隔组

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:28:11 24 4
gpt4 key购买 nike

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
This PM was sent by [ helloworld ] hellworld@gmail.com,
Membership Status : YES
http://gg.com.zz/US?id=gg@1

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
Title : Testing is testing
Quantity : 44
Price : 55.00
Item Location : United States

*******************************************************************


I want this message right here, hello there, you help is deeply
**
appreciated :)

*** This email was sent using gg.gg.com ***

上面是我的输出字符串,我希望在长 ^^^^^^- 之间得到分组和 ******分隔线,

最终结果将是:

This PM was sent by [ helloworld ] hellworld@gmail.com,
Membership Status : YES
http://gg.com.zz/US?id=gg@1
Title           : Testing is testing
Quantity : 44
Price : 55.00
Item Location : United States
I want this message right here, hello there, you help is deeply 
**^
appreciated :)

我试过(?<=^)[^\^]*|[^\^-]*(?<=\*\*)但无法匹配整个长^^^^^^^分频器,有人可以帮我解决这个问题吗?

最佳答案

您可以使用此正则表达式来捕获您想要的数据,

(?s)^(?:\^+-|\*{3,})\s*(.+?)(?=\s*(?:\^+|\*{3,}))

解释:

  • (?s) - 启用 .匹配这里需要的换行符,因为要捕获的数据跨越多行
  • ^ - 匹配文本开头
  • (?:\^+-|\*{3,})\s* - 匹配一个或多个 ^- 结尾的字符或三个(为什么是三个,所以最后一行不匹配,因为它有 2 颗星)或更多 *字符后跟可选的空格
  • (.+?) - 匹配预期的文本并在第一个分组模式中捕获它
  • (?=\s*(?:\^+|\*{3,})) - 向前看以确保它停止捕获后跟可选空格和以上模式(如 ^^^^^-)的数据或 *****

虽然我之前的回答也有效,但这个更好,因为它可以巧妙地捕获数据。

Demo

关于ios - 正则表达式在一行特殊字符之前分隔组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54706346/

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