Regex 在VsVim中搜索时,匹配不会在下线停止
将VS2010与VsVim一起使用 我发现对引用文本的搜索,例如Regex 在VsVim中搜索时,匹配不会在下线停止,regex,vim,vsvim,Regex,Vim,Vsvim,将VS2010与VsVim一起使用 我发现对引用文本的搜索,例如 /["][^"]\{0,\}["] 这是我为找到一个引号所做的几种不同努力之一,可能是一些不包括引号的东西,然后是另一个引号,例如“stuff”,或“(空字符串),或任何其他带引号的字符串 这种搜索不一定局限于一行。虽然转义引号(\“)似乎相当常见,但我还没有做任何详尽的分析来确定这些多行匹配是否有共同之处 我尝试了一些限制性的添加,但直到我将\n添加到排除集中,它才停止这样做 在gVim中,默认情况下,搜索仅限于一行 我可以看
/["][^"]\{0,\}["]
这是我为找到一个引号所做的几种不同努力之一,可能是一些不包括引号的东西,然后是另一个引号,例如“stuff”
,或“
(空字符串),或任何其他带引号的字符串
这种搜索不一定局限于一行。虽然转义引号(\“
)似乎相当常见,但我还没有做任何详尽的分析来确定这些多行匹配是否有共同之处
我尝试了一些限制性的添加,但直到我将\n
添加到排除集中,它才停止这样做
在gVim中,默认情况下,搜索仅限于一行
我可以看到搜索跨行结束边界的优势,但这不是我想要的默认设置
有我错过的场景吗
下面是来自该正则表达式的匹配示例:
oss << "bonus game conditions \"" << index << "\" not found for bonus game \""
<< bonusGameID << "\"";
我们感兴趣的比赛是:
"
<< bonusGameID << "
”
Jared在1.8.0中对正则表达式做了一系列的修复,使其更符合Vim对正则表达式的理解。在Visual Studio 2010和2013上运行VsVim 1.8.0,我再也无法重现这一点了
看来您的解决方案是升级到最新版本。好的,稍后再做大量编辑。我想现在它是正确的。我快速看了一下,它似乎只是一个bug。处理$
和\n
的逻辑不正确,导致此行为。如果你可以提交一个bug,我可以尝试在下一个版本中修复它
"
<< bonusGameID << "
""
"
<< bonusGameID << "
CharReplace( *it, wchar_t( '"' ), L"<DQ>" );
if ( !arg.empty() )
{
args.push_back( arg );
}
}
it++;
}
// Re-compose the string from words
WordsToString( words, delimiters, _str );
// Replace newlines with ICU specifiers (NOTE: CS3 uses '\r' instead of '\n' for a newline)
CharReplace( _str, wchar_t( '\n' ), L"<NL>" ) || CharReplace( _str, wchar_t( '\r' ), L"<NL>" );