Groovy grep一个字

aad*_*asu 3 groovy grep

我想grep for java进程然后找到使用的最大堆内存.我试过这个

def ex =['sh','-c','ps -aef | grep Xmx']
String str =  ex.execute().text
Run Code Online (Sandbox Code Playgroud)

str具有类似的java -Xmx1024M/KV /班/贝博/ -Xms512m 我如何提取价值1024M?我打算使用java正则表达式,但认为有人可能在groovy中知道一种很酷的方式.

Ted*_*eid 5

这是一个不需要grep(或sed :)的groovy版本:

("ps -aef".execute().text =~ /.*-Xmx([0-9]+M).*/).each { full, match -> println match } 
Run Code Online (Sandbox Code Playgroud)