我在OS X上尝试使用grep来获取在CSS文件中打印的动态创建的精灵名称的文件名。
我无法弄清楚如何匹配以下字符串:
ui/sprite-sba62176be8.png
唯一改变的部分是连字符和.png
之间的字符串答案 0 :(得分:3)
使用此功能(感谢@mtm对原始正则表达式的调整):
grep -o "ui/sprite-[^.]\+\.png" yourfile
<强>解释强>
[^.]
是一个否定的字符类,匹配任何不是点的字符。+
量词表示其前面的“一个或多个”。如果grep
处于基本正则表达式模式(默认设置),则需要对其进行转义:\+
o
标志打印 o 匹配(不是整行)。请注意,在grep的某些实现上,您需要P
标志(激活Perl模式):
grep -oP "ui/sprite-[^.]+\.png" yourfile