gpt4 book ai didi

正则表达式匹配 "not preceded by, unless followed by"

转载 作者:太空宇宙 更新时间:2023-11-03 18:47:02 29 4
gpt4 key购买 nike

示例输入字符串:

(F1 (F2 X (Y) Z) (F3 A B)

我要匹配的是:\w+ 前面没有( 除非后面跟着)
在这种情况下:XYZAB

目前的临时解决方法(我知道稍后会给我带来问题)是 /\(\w+\)|\w+/,但由于它也匹配空格,因此会在以后导致问题,尤其是在需要替换匹配项时。

我以以下形式在负面回顾领域做了一些实验:

/(?!=\()\w+/

...但我似乎无法找到将它与 “前面没有 (”

明确一点:

  • 本例中的匹配都是单个字母,但实际数据可能是多个字符,甚至可能不是字母数字。
  • 返回的匹配项中不能包含空格或括号。

最佳答案

试试这个:

(?<=[ (])\w(?=[ )])

在此处查看实际效果:http://regexr.com?2vnri


实际上,这可能就是您正在寻找的:

(?<= )\w+(?=[ )])|(?<=\()\w+(?=\))

在此处查看实际效果:http://regexr.com?2vnro

关于正则表达式匹配 "not preceded by, unless followed by",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8875608/

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