正则表达式在配对单词列表中找到第二个单词

时间:2016-11-16 11:36:04

标签: regex sublimetext3

我正在尝试为EViews编写Sublime Text 3语法,并且需要找到一个正则表达式来选择对列表中的第二项,当且仅当该对的第一个元素出现在行的开头时(忽略任何前导空格。)

我可以针对一对进行此操作,例如if then

^\s*if.+(then)

但是对于每一对单独进行它似乎非常笨拙。

当然有更聪明的方法吗?

对的完整列表包括if thenfor toto stepelse ifsubroutine local

2 个答案:

答案 0 :(得分:0)

你可以试试这个:

long

确保没有选择点匹配新行

答案 1 :(得分:0)

使用this regex

\s*\bif\b.*?\b(then)\b|\s*\bfor\b.*?\b(to)\b|\s*\bto\b.*?\b(step)\b|\s*\belse\b.*?\b(if)\b|\s*\bsubroutine\b.*?\b(local)\b

第1组匹配then,第2组匹配to,第3组匹配step,第4组匹配if,第5组匹配local,仅那些之前是正确的词。