gpt4 book ai didi

regex - 如何在TDIPerlRegEx正则表达式中设置不友好选项

转载 作者:行者123 更新时间:2023-12-03 19:47:30 25 4
gpt4 key购买 nike

我正在使用这样的模式:

RegEx_Seek.MatchPattern := '(*UCP)(?m)(?<=can he )(not ){0,2}\w\w+(?= )';


我想捕捉答案一词。但是我没有得到结果。不被捕获对我不介意。问题是未捕获答案。

help page
选项设置:


(?U)默认不贪婪(懒惰)(?x)扩展
(忽略空格)(?-...)未设置的选项


所以我尝试了 (*CP)(?-U)(?m),但是没有编译该模式。

示例文字:
他们将他扶在肩上,背负他,将他安置在他的位置,他站了起来。他不能离开他的地方。是的,有人向他哭泣,但他不能回答,也不能救他脱离麻烦。

但是我正在使用更复杂的模式来搜索动词:

  RegEx_Seek_1.MatchPattern := '(*UCP)(?m)(?<=can he )(also |alone |myself |otherwise |who |not ){0,2}{0,2}\w\w+(?= )';


因此,从根本上讲,我不想更改模式的结构,而只是要禁用用于“非”字的贪婪选项。

最佳答案

您可以使用

(*UCP)\bcan\s+he\s+(?:not\s+){0,2}\K\w{2,}


请参见 regex demo

细节


(*UCP)-PCRE动词,使所有速记都支持Unicode
\bcan-整个单词 can\b是单词边界)
\s+-1+空格
he- he
\s+-1+空格
(?:not\s+){0,2}-0、1或2次出现的 not,然后是1+个空格
\K-匹配重置运算符
\w{2,}-2个或更多单词字符。

关于regex - 如何在TDIPerlRegEx正则表达式中设置不友好选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52475190/

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