Regex 如何提取正则表达式中后跟特定单词的单词

Regex 如何提取正则表达式中后跟特定单词的单词,regex,Regex,我有以下一句话: 教育_level@187标准either@190教育_level@192在教育方面_field@199标准either@216教育_field@219标准wider@222 我想获得标准。either@190仅在教育后使用_level@187 目前,我的正则表达式如下: (education_level@187)\s(criteria.*) 但是,它会在教育之后提取所有字符串_level@187,即: 标准。either@190教育_level@192在教育方面_field@

我有以下一句话:

教育_level@187标准either@190教育_level@192在教育方面_field@199标准either@216教育_field@219标准wider@222

我想获得
标准。either@190
仅在
教育后使用_level@187

目前,我的正则表达式如下:

(education_level@187)\s(criteria.*)
但是,它会在
教育之后提取所有字符串_level@187
,即:

标准。either@190教育_level@192在教育方面_field@199标准either@216教育_field@219标准wider@222


我被你的描述搞糊涂了,因为听起来你所描述的与你真正想要的恰恰相反

您当前的正则表达式将获得单词criteria以及它后面的所有内容,因为*


如果你想要的只是教育之后的标准序列_level@187,则应仅选择以下选项:
(教育_level@187)\s(标准。[a-z]+@[0-9]+)
我认为您正在寻找积极的前瞻性。大概是这样的:

criteria.either@190\s(?=education_level@187)
有关
环视
的详细说明,请参阅

注意:根据您使用的主机语言,可能支持也可能不支持此操作。有关详细信息,请查看您的语言文档。

“仅当后面跟着”??