Javascript の場合:
「これは test123 です」という文があり、単語 test に続く数字のグループを一致させる必要があります。
グループを使用する以外にこれを行う方法はありますか?
これは私が得たものですが、グループを使用せずにこれを機能させたいです(可能であれば)
var str = str.match(/test.([0-9]{1,3})/)
基本的に、「'test' が前にある任意の番号グループ」と言う必要があります。
Javascript の場合:
「これは test123 です」という文があり、単語 test に続く数字のグループを一致させる必要があります。
グループを使用する以外にこれを行う方法はありますか?
これは私が得たものですが、グループを使用せずにこれを機能させたいです(可能であれば)
var str = str.match(/test.([0-9]{1,3})/)
基本的に、「'test' が前にある任意の番号グループ」と言う必要があります。
単純な1行のコード(まだグループですが、単純です):
"this is a test123".replace(/.*test(\d{1,3}).*/, "$1"); // "123"
または別のバージョンmatch
:
("this is a test123".match(/test(\d{1,3})/) || []).pop(); // "123"
そして、正規表現のないもう1つの単一行:
parseInt("this is a test123".split("test")[1], 10); // 123
グループが気に入らない場合は、2 つの単純な関数を 1 行で実行できます。
str = str.match(/test[0-9]{1,3}/).toString().replace('test', '');