gpt4 book ai didi

java - 正则表达式前缀,只捕获奇数个实例?

转载 作者:行者123 更新时间:2023-11-29 05:20:45 25 4
gpt4 key购买 nike

我想捕获两个百分比“%”内所有相互排斥的字符串。如果它介于两个百分比之间,它将在我的解析过程中被标记为替换变量。

所以如果我有这个输入字符串

TLA%HRN%767%BRN%DFS

它应该只返回“HRN”和“BRN”,而不是“HRN”、“767”和“BRN”。

我不想要 767,因为它窃取了 HRN 和 BRN 的百分比字符。我想我只想匹配前缀中百分比字符数量为奇数的地方。

这是我正在进行的正则表达式工作。它捕获了三个实例,而不仅仅是我想要的两个。

(?<=\b[A-Za-z1-9]+%).+?(?=%)

如何只捕获前缀中出现的奇数个百分比字符?

最佳答案

您可以使用此正则表达式进行匹配:

%[^%]+%

之所以有效,是因为一旦 %%HRN% 中被消耗,尾随 % 就无法返回 767.

Regex Demo

关于java - 正则表达式前缀,只捕获奇数个实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24870939/

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