我试图在文本中识别国家/地区缩写。
egrep "^[A-Z]{2}$" file
似乎有效。但是,当我在sed上尝试正则表达式时,它无法正常工作。这就是我正在使用的
sed 's/^[A-Z]{2}$/someCountry/' file
我做错了什么?
答案 0 :(得分:2)
POSIX sed
使用 BRE (基本正则表达式)。在那些中,您可以使用等效的{2}
,但必须转义 大括号。 egrep
支持 ERE (扩展正则表达式)。作为扩展BRE的副作用,转义规则是不同的(使得结果表达式更易于编写)。
供参考:
当匹配单个字符,子表达式或反向引用的BRE后面跟着格式为
"\{m\}"
,"\{m,\}"
或"\{m,n\}"
的区间表达式,以及区间表达式应匹配BRE重复连续出现的匹配。 m 和 n 的值是0 <= m<= n<= {RE_DUP_MAX
}范围内的十进制整数,其中 m 指定出现的确切或最小数量和 n 指定最大出现次数。表达式"\{m\}"
应与前一个BRE的 m 出现完全匹配,"\{m,\}"
应匹配至少m次出现,"\{m,n\}"
应匹配<之间出现的任意数量< em> m 和 n ,包括在内。
答案 1 :(得分:1)
man sed
并搜索&#34;扩展&#34;。 egrep
grep
是-e
,其中有一个标记(在某些平台上为\
),用于扩展&#39;正则表达式,和sed有类似的标志。否则语法不同,您必须使用var p = $.Deferred().resolve().promise();
$('div.box').each(function(i, div) {
p = p.then(function() {
$(div).fadeIn().delay(5000).fadeOut().delay(1000);
return $(div).promise();
});
});
更多。