为什么正则表达式从末尾开始搜索第二组?

问题描述 投票:0回答:1

我在应用程序中进行搜索,并使用正则表达式突出显示找到的匹配项。但我注意到有时它匹配得有点不正确(?)。

例如,正则表达式(不区分大小写):

(the).*(te)
。测试短语的结果将是(测试here):

编辑 表达式和文本以查看匹配项。滚动匹配项或表达式以获取详细信息。支持 RegEx 的 PCRE 和 JavaScript 风格。使用测试模式验证您的表达。

如果你看一下测试短语,它在最后一个之前

包含很多

te
部分。感觉像是从行尾开始搜索。但我希望它应该是这样的:

编辑
表达式和文本以查看匹配项。滚动匹配项或表达式以获取详细信息。支持 RegEx 的 PCRE 和 JavaScript 风格。使用测试模式验证您的表达。

我需要它来找到

first
出现的地方。由于在应用程序中是用户输入的查询,因此我不知道正则表达式到底是什么。但它有一个模式:

(word1).*(word2).*(word3)

我做错了什么?正则表达式不正确或者它只是它的工作方式?

将贪婪量词
regex match regex-group string-matching
1个回答
0
投票
更改为勉强量词

.*

:
the.*?te

另请注意,您不需要分组括号。
    

© www.soinside.com 2019 - 2024. All rights reserved.