2

ab文字列の末尾に整数が続くかどうかを確認したい。

string が与えられた場合、それがorまたはasで終わっているかどうかを最初に確認するにはどうすればよいですか。ab1ab2b3ab1ab2ab3

たとえば、 stringの場合sdfsadfsab2、 を返したいですab2
文字列の場合asdfase、空の文字列を返したいです。

javascriptまたはjqueryでこれを行うことができる正規表現はありますか? ありがとう。

4

4 に答える 4

7

あなたが求めている正規表現は次のようになります。

/ab[0-9]$/

テスター関数が必要な場合、その関数は次のようになります。

function testABInt(string)
{
    var match = string.match(/ab[0-9]$/);
    return match ? match[0] : '';
}

これは、ab小文字の文字の場合にのみ文字列の末尾に一致し、末尾に int が1 つしかない場合は、大文字と小文字を区別しないで一致させるためにiフラグを追加するか、+末尾のすべての数字に一致させるために a を追加します。

/ab[0-9]+$/i
于 2013-02-14T20:29:38.650 に答える
2

使用する1つの方法replace

str.replace(/.*(ab\d+)$/, "$1");

を使用する別の方法match

(str.match(/ab\d+$/) || [""]).pop();
于 2013-02-14T20:27:37.303 に答える
1
var regex = /([a-zA-Z]{2}[0-9])$/;
var str = "sdfsadfsab2";
console.log(str.match(regex)[0]); //outputs "ab2"

正規表現の説明:

  • [a-zA-Z]-小文字と大文字のazからの文字のコレクション
  • {2}-「正確に2回繰り返された」という意味
  • [0-9]-0から9までの数字のコレクション
  • $-「文字列の終わり」を意味します
于 2013-02-14T20:27:57.933 に答える
1

$文字列の終わりに一致させるために使用します。

'foo2'.match(/[a-z]{2}\d$/);
于 2013-02-14T20:28:07.047 に答える