在崇高的文本3中,为什么这匹配3个条目
\$http\.post\('\/((?!view|list).)[^\']*'
但这不匹配
\$http\.post\('\/((?!view|list).)[^\']*\'
在以下数据集上。
$http.post('/listSets' ,$scope.updateAccessKey({type: 2}), {
$http.post('/viewedMessage' , viewedMessagePayload, {
$http.post('/listRelatedContent' ,
$http.post('/viewedSet' , payLoad , {
$http.post('/viewDiscussion' , payLoad , {
$http.post('/editMessage' , $scope.updateAccessKey(payLoad), {
$http.post('/addComment' , $scope.updateAccessKey(payLoad), {
$http.post('/createStudySet' , createSetP
我知道转义撇号是可选的,但为什么它会破坏Sublime Text正则表达式搜索?
答案 0 :(得分:4)
根据documentation on Search and Replace,内部Sublime使用Boost PCRE引擎为搜索面板中的正则表达式提供支持,根据Boost Regex documentation,构造\'
与{{1}同义。并且仅在缓冲区的末尾匹配。
因此,以\z
结尾的正则表达式版本与任何内容都不匹配,因为根据定义,它只匹配看起来像\'
行的内容,该行出现在文件的最后一行并且使用仍未终止的URL字符串结束文件。
由于正则表达式中$http.post
之前的*
,它将匹配此行后面的任何数量的文本,只要它不包含单引号(到期)排除在角色类中。)
例如,给定以下输入,您的正则表达式将匹配最后一个\'
,包括其后的所有内容,直到缓冲区的末尾。
$http.post