i know this is very big but thats what I could come up with:
\b([A-F0-9]{2})([A-F0-9]{2})([A-F0-9]{2})([A-F0-9]{2})-([A-F0-9]{2})([A-F0-9]{2})-([A-F0-9]{2})([A-F0-9]{2})-([A-F0-9]{2})([A-F0-9]{2})-([A-F0-9]{12})\b
use this and you will get your result in matched groups.
The replacement string will look like this :
X'\4\3\2\1\6\5\8\7\9\10\11'
use a \L
for making it lowercase.\
if you are having trouble like this :
'X'974733FE460A91F20005F1EC67EC''
you can easily remove the leading and trailing '
by using a function
public class Main {
/**
* Remove the leading and trailing quotes from <code>str</code>.
* E.g. if str is '"one two"', then 'one two' is returned.
*
*
* @return The string without the leading and trailing quotes.
*/
static String stripLeadingAndTrailingQuotes(String str)
{
if (str.startsWith("\'"))
{
str = str.substring(1, str.length());
}
if (str.endsWith("\'"))
{
str = str.substring(0, str.length() - 1);
}
return str;
}
}