正则表达式不以“我的”或“按”开头

时间:2018-05-02 12:24:49

标签: regex re2

当我的字符串不以MY和BY开头时,我需要正则表达式匹配。

我尝试了类似

的内容
r = /^my&&^by/

但对我不起作用

例如

  

mycountry = false; byyou = false; xyz = true;

3 个答案:

答案 0 :(得分:4)

您可以测试字符串是否不以bymy开头,不区分大小写。

var r = /^(?!by|my)/i;

console.log(r.test('My try'));
console.log(r.test('Banana'));

没有!

var r = /^([^bm][^y]|[bm][^y]|[^bm][y])/i;

console.log(r.test('My try'));
console.log(r.test('Banana'));
console.log(r.test('xyz'));

答案 1 :(得分:0)

如果你只关心字符串开头的特定文本,那么你可以使用最新的js字符串方法.startsWith

  let str = "mylove";

  if(str.startsWith('my') || str.startsWith('by')) {
    // handle this case
  }

答案 2 :(得分:-1)

试一试(正则表达式不区分大小写):



  var r = /^([^bm][y])/i; //remove 'i' for case sensitive("by" or "my")

console.log('mycountry = '+r.test('mycountry'));
console.log('byyou= '+r.test('byyou'));
console.log('xyz= '+r.test('xyz'));

console.log('Mycountry = '+r.test('Mycountry '));
console.log('Byyou= '+r.test('Byyou'));

console.log('MYcountry = '+r.test('MYcountry '));
console.log('BYyou= '+r.test('BYyou'));