In the below string if you do a standard greedy regex of <[\S|\s]*>" it will find the entire string. A non greedy regex "<[\S|\s]*?>" will only find the xml tags.
<sometag>asdfaf</sometag>
<sometag>asdfaf</sometag>
<sometag>asdfaf</sometag>
<sometag>asdfaf</sometag>
<sometag>asdfaf</sometag>
<sometag>asdfaf</sometag>
<sometag>asdfaf</sometag>
The ? in the nonGreedy regex defines it and nonGreedy.
Example using a javascript replace
//Create a Java String Note all qie functions message.getNode, qie.* functions return a Java string)
var value = new java.lang.String('<sometag>asdfaf</sometag>\n<sometag>asdfaf</sometag>\n<sometag>asdfaf</sometag>\n<sometag>asdfaf</sometag>\n<sometag>asdfaf</sometag>\n<sometag>asdfaf</sometag>\n<sometag>asdfaf</sometag>');
//Convert the java string to a javascript string
var javaScriptString = '' + value;
//do a greedy regex replace with the javascript replace
qie.debug('greedy replace:\n' + javaScriptString.replace(/(<[\S|\s]*>)/gm, ''));
//do a nonGreedy regex replace with a javascript replace
qie.debug('nongreedy replace:\n' + javaScriptString.replace(/(<[\S|\s]*?>)/gm, ''));