gpt4 book ai didi

regex-lookarounds - 正则表达式反向回顾

转载 作者:行者123 更新时间:2023-12-03 10:59:53 26 4
gpt4 key购买 nike

我在理解如何在正则表达式中使用 lookbehind 时遇到了一些问题。我需要匹配 在前面第一次出现myMethodsomethingelse/p>

例子 https://regex101.com/r/lF8yT0/4

public myMethod
do something

private myMethod
do somethingelse


(?s)(?<=(myMethod){1})(.*)somethingelse

从顶部选择所有内容,而我只期望

private myMethod
do somethingelse

最佳答案

您可以使用 tempered greedy token :

[^\r\n]*myMethod((?:(?!myMethod).)*?)somethingelse
^^^^^^^^^^^^^^^^^^^

参见 regex demo

第一个 [^\r\n]* 匹配除 CR/LF 之外的 0+ 个字符(因为您希望匹配结果中的行的开头)和 (?: (?!myMethod).)*? 匹配不以 myMethod 子字符串开头的任何 0 个字符(尽可能少)。

关于regex-lookarounds - 正则表达式反向回顾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38270095/

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