1

通常のexpが苦手です。他の文字列の末尾から始まる文字列に一致させたいです。

var keyword = new Array();
keyword[0] = " void main";

var pool1 = "abdodfo void main";
var pool2 = "abdodfo void main a";
var pool3 = "abdodfo void main ab void mai";

ffを満たすための制御構造体の正しい正規表現は次のとおりです。

*一致する必要があります

if(pool1.match(keyword[0]))

*一致してはいけません

if(pool2.match(keyword[0]))

if(pool3.match(keyword[0]))

私はこのコードをよりシンプルにしました。これを私の C++ IDE プロジェクトの 構文チェック エラーに使用します。

4

2 に答える 2

5

$入力文字列の終わりを示すために使用します。

/ void main$/

var pattern = / void main$/;

var pool1 = "abdodfo void main";
var pool2 = "abdodfo void main a";
var pool3 = "abdodfo void main ab void mai";

console.log(pattern.test(pool1)); // => true
console.log(pattern.test(pool2)); // => false
console.log(pattern.test(pool3)); // => false
于 2013-08-09T08:25:18.383 に答える
1

正規表現の使用

$記号は、文字列の終わりを示します。

var test = " void main";

var matches = test.match(/main$/); // returns an array of matches, in this case ["main"]

if (matches.length > 0) {
  // do stuff
}

使用するslice()

この特定のケースでは、slice()より簡単な関数を使用することもできます。

var test = " void main";

if (test.slice(-4) === "main") {
  // do stuff
};

上のMDNのドキュメントへのリンクslice()

于 2013-08-09T08:37:01.567 に答える