Regular matching of longer strings

the following string
var str = "red E20u34 black 93h7A81.jpg"
in which red E20u34 or black 93h7A81 may have multiple
such as red E20u34, black 93h7A81, orange 129dAjf...
in which .jpg may be .gif. PNG and so on
requires to get results excluding Chinese characters, and the suffix
such as .jpg how to write rules that only match E20u34 and 93h7A81? (the E20u34 here only assumes the data, not specifically means to obtain the two data.)

my idea is to limit it this way

([^\u4e00-\u9fa5]+)

non-Chinese characters
but how to exclude suffixes such as .jpg?

Jun.24,2022

[a-zA-Z0-9] {6p10}


// :
var str = 'E20u3493h7A81129dAjf.png';
var reg = /(?<=[\u4e00-\u9fa5]+)\w+/g;
// \w  [a-zA-Z0-9]  (?<=xxx+)yyy  yyyxxx,
console.log(str.match(reg));
// [ 'E20u34', '93h7A81', '129dAjf' ]
// 

/E20u34|93h7A81/

var str = "E20u3493h7A81.jpg";
var result=str.replace(/\.\w+$/,'').match(/\w+/g);


it's easy to write (\ w +) (?! ($|\ w)) , and the matching match will only have the normal English text combination you require, without the suffix

.
Menu