Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
升华;GREP:执行GREP搜索,但排除大写的所有行_Grep_Sublimetext3 - Fatal编程技术网

升华;GREP:执行GREP搜索,但排除大写的所有行

升华;GREP:执行GREP搜索,但排除大写的所有行,grep,sublimetext3,Grep,Sublimetext3,我正在Supreme Text 3的查找功能中使用GREP搜索。我想找到所有超过12个字符的行,不包括空格。如本文所述,执行此操作的方法是使用以下命令: ^\h*(?:\S\h*){13,}$ 但我也希望GREP搜索在执行上述搜索时排除所有大写的行 例如: FAVORITE FOODS OF AMERICA Mac and Cheese Peanut Butter and Jelly Sandwich 在上面的示例中,找不到Mac和Cheese,因为 不包括空格,总共是12个字符 也找不到

我正在Supreme Text 3的查找功能中使用GREP搜索。我想找到所有超过12个字符的行,不包括空格。如本文所述,执行此操作的方法是使用以下命令:

^\h*(?:\S\h*){13,}$

但我也希望GREP搜索在执行上述搜索时排除所有大写的行

例如:

FAVORITE FOODS OF AMERICA 
Mac and Cheese
Peanut Butter and Jelly Sandwich
  • 在上面的示例中,找不到Mac和Cheese,因为 不包括空格,总共是12个字符
  • 也找不到美国最喜爱的食物
    ,因为尽管它超过12个字符,但却是一行用大写字母写的
  • 只有
    花生酱和果冻三明治
    会被找到,因为它超过12个字符,虽然有大写字母,但不是所有的大写字母
我该怎么做?在谷歌上搜索,我可以找到Grep命令,这些命令不包括至少包含一个大写字母的行,但不包括仅包含所有大写字母的行


注意:我使用升华的查找函数中的Grep选项

您可以使用一个否定的前向断言,右边的不仅仅是大写字符,还有可能的水平空白字符

^(?![A-Z\h]+$)\h*(?:\S\h*){13,}$

您可以使用一个否定的前向断言,右边的字符不仅仅是大写字符,还可能是水平空白字符

^(?![A-Z\h]+$)\h*(?:\S\h*){13,}$

grep
通常不支持lookaheads。如果您有grep-P,请尝试
grep-P
;但是它不可移植。基于这个问题,我认为@big_smile实际上是在Sublime中进行
查找
(即实际上不使用
grep
),在这种情况下,这里的正则表达式是基于上面的示例输入工作的。对于实际的grep,可能使用
grep | grep-v
管道来编辑大写匹配比
grep-P
更便于携带。这在Sublime的Find中的grep选项中似乎不起作用。它只会突出显示所有文件,这些文件的行长度超过12个字符,但也都是大写的(我希望它忽略所有大写的行)。在Sublime's Find中有什么窍门可以让它工作吗?谢谢(我已经更新了问题,以明确它的功能,因为我没有意识到有什么不同)。@big_smile如果我使用
Find
,这个正则表达式对我有效(即只查找你问题中的PB&J文本,而不查找其他两行);你是说它也与美国最喜欢的食物相匹配吗?@big_smile这是一个没有lookarounds的冗长版本
grep
通常不支持lookaheads。如果您有grep-P,请尝试
grep-P
;但是它不可移植。基于这个问题,我认为@big_smile实际上是在Sublime中进行
查找
(即实际上不使用
grep
),在这种情况下,这里的正则表达式是基于上面的示例输入工作的。对于实际的grep,可能使用
grep | grep-v
管道来编辑大写匹配比
grep-P
更便于携带。这在Sublime的Find中的grep选项中似乎不起作用。它只会突出显示所有文件,这些文件的行长度超过12个字符,但也都是大写的(我希望它忽略所有大写的行)。在Sublime's Find中有什么窍门可以让它工作吗?谢谢(我已经更新了问题,以明确它的功能,因为我没有意识到有什么不同)。@big_smile如果我使用
Find
,这个正则表达式对我有效(即只查找你问题中的PB&J文本,而不查找其他两行);你是说它也与美国最喜欢的食物相匹配吗?@big_smile这是一个非常冗长的版本,没有旁敲侧击