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 回答