我正在尝试为EViews编写Sublime Text 3语法,并且需要找到一个正则表达式来选择对列表中的第二项,当且仅当该对的第一个元素出现在行的开头时(忽略任何前导空格。)
我可以针对一对进行此操作,例如if then
,
^\s*if.+(then)
但是对于每一对单独进行它似乎非常笨拙。
当然有更聪明的方法吗?
对的完整列表包括if then
,for to
,to step
,else if
和subroutine local
。
答案 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
,仅那些之前是正确的词。