替换字符串,从最后一次出现的字符开始
replace a string, starting last occurrence of of a character
在此字符串中:
a=b&c=blablabla_[OO]
我正在尝试替换“=”和“[OO]”之间的所有内容
我试过:
/(=.+?)_\[OO\]
但这取代了从检测到的第一个“=”符号开始而不是最后一个(最接近 [OO])。
我怎样才能做到这一点?
谢谢!
您可以使用 2 个捕获组或 lookarounds 结合 negated character class [^=]+
匹配 1+ 次除等号以外的任何字符:
(=)[^=]+(\[OO\])
在替换中使用 2 个捕获组 REPLACEMENT
带环顾四周(如果支持)
(?<==)[^=]+(?=\[OO\])
不是匹配所有字符,而是不匹配 = 字符,如下所示:
/(=[^=]+?)_[OO]
在此字符串中:
a=b&c=blablabla_[OO]
我正在尝试替换“=”和“[OO]”之间的所有内容
我试过:
/(=.+?)_\[OO\]
但这取代了从检测到的第一个“=”符号开始而不是最后一个(最接近 [OO])。
我怎样才能做到这一点?
谢谢!
您可以使用 2 个捕获组或 lookarounds 结合 negated character class [^=]+
匹配 1+ 次除等号以外的任何字符:
(=)[^=]+(\[OO\])
在替换中使用 2 个捕获组 REPLACEMENT
带环顾四周(如果支持)
(?<==)[^=]+(?=\[OO\])
不是匹配所有字符,而是不匹配 = 字符,如下所示:
/(=[^=]+?)_[OO]