如何将正则表达式用于茉莉花匹配器

iPo*_*sov 5 regex string-matching jasmine protractor

我需要验证文本标签,但它包含动态部分,所以我尝试使用正则表达式,但它不起作用.

expect(aboutPage.userInterfaceText.getText()).toMatch('/- User Interface: v \d+\.\d+\.\d+/');
Run Code Online (Sandbox Code Playgroud)

我总是得到下一个错误:

- Expected '- User Interface: v 4.4.63' to match '/- User Interface: v d+.d+.d+/'.
Run Code Online (Sandbox Code Playgroud)

ale*_*cxe 9

- Expected '- User Interface: v 4.4.63' to match '/- User Interface: v d+.d+.d+/'.

如您所见,模式两端的斜杠也包含在表达式中,但您的- User Interface: v 4.4.63测试字符串不包含斜杠.

不应将正则表达式括在单引号中,以使其成为有效的正则表达式对象:

expect(aboutPage.userInterfaceText.getText()).toMatch(/- User Interface: v \d+\.\d+\.\d+/);
Run Code Online (Sandbox Code Playgroud)

在控制台上为我工作:

> var s = "- User Interface: v 4.4.63";
> var re = /- User Interface: v \d+\.\d+\.\d+/;
> s.match(re)
["- User Interface: v 4.4.63"]
Run Code Online (Sandbox Code Playgroud)