vim找到所有\ _ \ sm_ <some varaible =“” name =“”>

时间:2018-11-04 00:44:12

标签: regex vim full-text-search

我可以在vim中使用哪些正则表达式来查找所有下划线,但以下划线除外:

m_<some variable name>

1 个答案:

答案 0 :(得分:1)

假设<some variable name>只能由字母数字字符组成(但不能由_组成),我们可以为{{ 1}}(即关键字不能在\<m之前以m开头)

_

如果/\%(\<m\)\@<!_/ 本身也可以包含下划线,则情况将变得更加复杂。然后,我们必须在<some variable name>\<m\<m_\w*的下划线(:help /\@<!)之前排除相同位置(:help /\@!)的匹配,以此类推,以结束与\<m_\w*_\w*

\w*\>

这还将排除/\%(\%(\<m\%(_\w*\)*\)\@<=_\w*\>\)\@!_/ 本身。要解决此问题,我们需要(通过两个分支)区分稍后在m_中排除下划线匹配和在\<m_\w*之后直接匹配,然后必须具有\<m才能将其排除:

\w\+