gpt4 book ai didi

正则表达式确保范围内的每个数字都匹配一次

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

我正在尝试使用正则表达式来匹配标记。到目前为止我已经

\{[0-2]\}

查找字符串中 {0}{1}{2} 的所有实例。我想确保其中每个在给定字符串中至少出现一次。我可以计算正则表达式的结果并验证每个结果,但我想知道是否有办法直接在正则表达式中执行此操作?

示例

"{0}{1}{2}" - True
"{1}{0}{2}" - True (rearrangement)
"{1}{0}{2}{2}" - True (repetition fine)
"foo{1}bar{0}blah{2}" - True
"foo{2}bar{0}blah{2}" - False (no {1})
"foo{2}bar{0}blah{12}" - False (no {1})

最佳答案

您可以为此使用前瞻条件:

(?=.*\{0\})(?=.*\{1\})(?=.*\{2\})

第一个 (?=.*\{0\}) 条件将尝试匹配字符串中某处的 {0},不消耗字符串,然后 (?=.*\{1\}) 将尝试匹配 {1} 从字符串开头重新开始,等等

注意:第一个先行条件中的 .* 并不是严格必要的,因为您不一定从字符串的开头进行匹配,但出于对称原因我将其包含在内......

关于正则表达式确保范围内的每个数字都匹配一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53449913/

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