答案 0 :(得分:1)
第一个问题是你使用find有点令人困惑。如果你想
要找到,请使用/
。结肠不是必需的(表明
命令模式)。如果你使用find作为范围(基本相同
事情,/
只是一个带有范围的空命令)你可以使用冒号,
但无论如何都没有必要逃避第一次斜线。
另一个主要问题是默认情况下需要对括号进行转义
如果你的意思是一个捕获组。所有这一切都取决于你的
'magic'
选项阅读/magic
主题的帮助(您可以执行此操作
强烈推荐:h magic
)。随着“香草”Vim设置,
你需要的正则表达式看起来像这样:
/'\([^']*\)'
使用非常神奇的启用(通过使用\v
原子),这可以简化
你原来的设计:
/\v'([^']*)'
答案 1 :(得分:1)
或者你可以使用
\v'(\a+)'
此正则表达式与您的相似,除非遇到嵌套引号。在文中:
The user's first 'answer'.
正则表达式\v'(\a+)'
将捕获answer
,而原始正则表达式(由sidyll更正)\v'([^']*)'
将捕获's first '
。