正则表达式 - 将单词匹配限制为以特定单词开头的行
regex - limit word match to the line starting with a specific word
我无法解决这个问题。在以“@....”开头的行列表中,我想创建一个表达式
第一:将匹配限制为以“@属性”开头的行。
第二:只将匹配行上的词捕获到一个组中
额外:排除所有 words/tags 以破折号 '-t'
开头
我可以使用正面(前面|后面)匹配以“@属性”开头的行,但是,我无法匹配直到行尾的单词。
我正在使用它为 sublime 文本包创建语法突出显示。
使用:
(^@property|(?!^)\G)(.*? )\K([^-\n]\w+)
细分:
(^@property|(?!^)\G)
^@property
匹配以 @property
开头的行
或
(?!^)\G
从上一个成功的匹配项开始搜索
(.*? )
匹配任何文本,直到以下捕获组(前面是 space)
\K([^-\n]\w+)
\K
从当前结果中丢弃所有前面的匹配项
([^-\n]\w+)
找到前面没有破折号或换行符的单词
我无法解决这个问题。在以“@....”开头的行列表中,我想创建一个表达式
第一:将匹配限制为以“@属性”开头的行。
第二:只将匹配行上的词捕获到一个组中
额外:排除所有 words/tags 以破折号 '-t'
我可以使用正面(前面|后面)匹配以“@属性”开头的行,但是,我无法匹配直到行尾的单词。
我正在使用它为 sublime 文本包创建语法突出显示。
使用:
(^@property|(?!^)\G)(.*? )\K([^-\n]\w+)
细分:
(^@property|(?!^)\G)
^@property
匹配以@property
开头的行
或
(?!^)\G
从上一个成功的匹配项开始搜索
(.*? )
匹配任何文本,直到以下捕获组(前面是 space)
\K([^-\n]\w+)
\K
从当前结果中丢弃所有前面的匹配项([^-\n]\w+)
找到前面没有破折号或换行符的单词