Regex 将排除捕获组的正则表达式

Regex 将排除捕获组的正则表达式,regex,Regex,我正在写一个正则表达式,需要捕捉以“get”开头的复数字符串。例如getContacts和getBuildings应该与正则表达式匹配。但是,有时文本可能等于getDetails或get**Details。我不希望正则表达式包含这些 我可以提出一个包含匹配组“Details”的正则表达式,但我想排除该捕获组,而不是包含它 [Gg]et?\w+([Dd]etail)s 我对正则表达式不是很在行,但以下是我对我所写内容的理解: 匹配“g”或“g”,后跟“et”,然后可选地匹配任意单词字符,然后匹配

我正在写一个正则表达式,需要捕捉以“get”开头的复数字符串。例如
getContacts
getBuildings
应该与正则表达式匹配。但是,有时文本可能等于getDetails或
get**Details
。我不希望正则表达式包含这些

我可以提出一个包含匹配组“Details”的正则表达式,但我想排除该捕获组,而不是包含它

[Gg]et?\w+([Dd]etail)s
我对正则表达式不是很在行,但以下是我对我所写内容的理解:

匹配“g”或“g”,后跟“et”,然后可选地匹配任意单词字符,然后匹配组,后跟“s”


如何排除包含“详细信息”一词的结果

我相信您正在寻找零宽度负前瞻


假设您想排除“获取详细信息”和“获取信息”,但接受“获取页面”和“获取我的详细信息”(注意,原始正则表达式中的尾随s已经排除了“获取信息”)

类似的操作可能适合您:

\b[Gg]et(?!\w*[Dd]etails)\w+s\b

您可能需要一个尾随的
\b
$
,这样您就不会在
getSassDetails
中匹配
getSass
。太棒了!更接近了。但它看起来仍然与细节匹配:你能告诉我如何排除那些字符串吗?
t
错误之后,op似乎表明
细节
不必与
get
@Qtax相邻,是的,从他的原稿复制了这个,我在考虑消极匹配方面,但没有注意到这一点。实际上,消极后面的外观涵盖了您在regexr中放入的案例,但没有获得某些细节,而不是其他。。。因此,如果您也需要排除这一点,则使用Qtax的解决方案。我只是想排除以“details”结尾的东西……是否应该
getDetailsAndBars
匹配?是否应该
getInfo
匹配?您原来的正则表达式似乎排除了这种情况。为什么在
[Gg]et?
中有问号?
只是使
t
成为可选的。这是你的意图吗?负面前瞻
(?!…)
确保细节不是匹配的一部分,使用
\b
s将匹配锚定在单词的开头/结尾,否则
getbar
将匹配此sting
setGetBarsX
\b[Gg]et(?!\w*[Dd]etails)\w+s\b