我试过了:pcregrep -M '<activity.*MainActivity(\n|.)*</activity>'
我想通过多行(3x <activity to </activity>
)从<activity></activity>
获取grep并在两个标记之间查找字符串MainActivity
(1x <activity MainActivity <\activity>
)并回显这一个只匹配。
提前感谢您的帮助!
答案 0 :(得分:2)
尝试以下命令,
pcregrep -M '(?s)<activity.*?MainActivity.*?<\/activity>' file
(?s)
是一个DOTALL修饰符,它允许点甚至匹配新行字符。
或强>
pcregrep -M '<activity[\s\S]*?MainActivity[\s\S]*<\/activity>' file
[\s\S]*
匹配任何空格或非空格字符零次或多次。 \n
,\r
,<spaces>
,<tabs>
与\s
匹配,因此您的正则表达不需要五\n