1

我在这里问我的第一个问题,因为我需要隔离一些字符

Fri  2 Mar 2012  11:14:25
JPEG **960x640** 960x640+0+0 8-bit sRGB 64.7KB 0.016u 0:00.017

我想要隔离960X640,但这个变量每次都会改变:(而且我得到的结果就像例子一样在很多行上。

所以我需要一个正则表达式来删除 960X640 之前和之后的所有内容。

如果您尝试帮助我,非常感谢您:)

4

3 回答 3

0

这必须解决您的问题:

/\d+x\d+/
于 2013-04-15T23:29:16.760 回答
0

Sed 会使用如下语法:

s/^[^0-9]+[[:space:]]([0-9]+x[0-9]+)[[:space:]].*$/\1/

Perl 看起来像:

s/^\D+\s([0-9]+x[0-9]+)\s.*$/$1/

例如:

$ echo 'JPEG 960x640 960x640+0+0 8-bit sRGB 64.7KB 0.016u 0:00.017' | sed -r 's/^[^0-9]+[[:space:]]([0-9]+x[0-9]+)[[:space:]].*$/\1/'
960x640
于 2013-04-15T23:36:28.547 回答
0

此正则表达式应与目标匹配:

[0-9]+x[0-9]+

因此,这应该可以删除其他所有内容:

Search: .*[0-9]+x[0-9]+.*
Replace (perl etc): \1 
Replace (java): $1
于 2013-04-15T23:40:37.883 回答