1

Javascript の場合:

「これは test123 です」という文があり、単語 test に続く数字のグループを一致させる必要があります。

グループを使用する以外にこれを行う方法はありますか?

これは私が得たものですが、グループを使用せずにこれを機能させたいです(可能であれば)

var str = str.match(/test.([0-9]{1,3})/)

基本的に、「'test' が前にある任意の番号グループ」と言う必要があります。

4

2 に答える 2

4

単純な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
于 2012-12-18T18:56:53.703 に答える
0

グループが気に入らない場合は、2 つの単純な関数を 1 行で実行できます。

 str = str.match(/test[0-9]{1,3}/).toString().replace('test', '');
于 2012-12-18T19:10:58.020 に答える