次の形式の変数が渡されます。
var fubar = e2s2
さて、文字は常に同じですが、数字は変わります。数字は 1 ~ 9 のみです。最終結果には、次のようなものが必要です。
var foo = e2
var bar = s2
私も数だけで解決します。数字さえあればいいんです。
常にこの形式である場合、正規表現は必要ありません。
var foo = fubar.substr(0,2),
bar = fubar.substr(2);
..または、数字だけが必要な場合:
var foo = fubar.substr(1,1),
bar = fubar.substr(3);
正規表現ソリューションが本当に必要な場合は、次の方法はどうですか。
var digits = fubar.replace(/\d/g, '').split(''),
foo = digits[0],
bar = digits[1];
それについて行く百万の方法。ただし、実際に必要でない限り、正規表現は避けてください。
乾杯
これはsplit method
(?![1-9])
また
(?=[^1-9])
ノート:
(?![1-9]|^)
結果の配列に含まれる空白スペースを避けるために使用します
var fubar = 'e2s2' ;
var foo = fubar.substr(0,2) ;
var bar = fubar.substr(2);
置換での正規表現の使用。次のコードが機能します
var fubar = "e2s2";
var a = fubar.replace(/\d/g, function(arg){ return arg+ ","}).split(",");
a.pop(); // removing last item.
var foo = a[0];
var bar = a[1];
要素が常に1桁以外の文字の後に1桁の文字が続く形式である場合は、次を使用します。
elements = str.split(/(?=\D)/)
配列内の完全な要素を取得します。数字(数字)の配列だけを取得するには、
(numbers = str.split(/\D/)).splice(0, 1);