^(~[A-Za-z]+_(someflag.*?=(.+?)\.~.*|.*)|.*)
например, команда для bash с использованием perl:
echo '~astring_someflag_xds~2.37.0=NEEDED_STRING_TO_EXTRACT.~cha_khe_mil~2.22.0=TADA' \
| perl -pe 's/^(~[a-z]+_(someflag.*?=(.+?)\.~.*|.*)|.*)/\3/i'
ну или в виде скрипта на том же perl:
$_='~astring_someflag_xds~2.37.0=NEEDED_STRING_TO_EXTRACT.~cha_khe_mil~2.22.0=TADA';
s/^(~[a-z]+_(someflag.*?=(.+?)\.~.*|.*)|.*)/\3/i;
print;
для php это будет, наверное, что-то вроде:
$str = '~astring_someflag_xds~2.37.0=NEEDED_STRING_TO_EXTRACT.~cha_khe_mil~2.22.0=TADA';
preg_match('s/^(~[a-z]+_(someflag.*?=(.+?)\.~.*|.*)|.*)/i', $str, $m);
print($m[3]);