我想对像word in $ctrl.words
之类的字符串应用正则表达式
想要查找字符串是否有in
以及之后的一个字符串。
我尝试使用此正则表达式[a-zA-Z\\d]+\\s+in\\s+[a-zA-Z\\d]+'
,但问题是来自$ctrl.words
的特殊字符,正则表达式始终返回false。
我想要的结果对于像这样的字符串是真的
fruit in $ctrl.fruits
letter in $ctrl.alphabet
对于像。这样的字符串是假的
fruit in $ctrl.fruits anything else
letter in $ctrl.alphabet anithing else
答案 0 :(得分:2)
由于您需要匹配一个字符串,该字符串只包含两个用空格包围的in
分隔的非空白字符块,您可以使用
/^\S+\s+in\s+\S+$/
请参阅regex demo
<强>详情
^
- 字符串开头\S+
- `+非空白字符\s+in\s+
- 包含1个或多个空格的in
子字符串\S+
- `+非空白字符$
- 字符串结束。JS演示:
var strs = ['fruit in $ctrl.fruits', 'letter in $ctrl.alphabet', 'fruit in $ctrl.fruits anything else', 'letter in $ctrl.alphabet anithing else' ];
var rx = /^\S+\s+in\s+\S+$/;
for (var s of strs) {
console.log(s, "=>", rx.test(s));
}