正则表达式:在字符串的开头/结尾匹配所需的字符

时间:2017-09-05 13:07:40

标签: javascript regex

我需要一个正则表达式来匹配字符串开头或结尾处设置的'AB'字符,并将其替换为''。注意:它不应该与该字符集的部分匹配,只要它发生整数。

  1. 因此,如果我有'AB Some AB company name AB',则应返回'Some AB company name'
  2. 如果我有'Balder Storstad AB',则应该只删除'AB'而不是'B',因为它不是整个'AB',只是它的一部分。< / LI>

    我尝试的是:

    name.replace(/^[\\AB]+|[\\AB]+$/g, "");
    

    直到单身&#34; A&#34;或&#34; B&#34;在字符串的开头或结尾遇到。如果测试字符串为'Balder Storstad AB',则它与开头的'B'和结尾的'AB'都匹配,并返回'alder Storstad'。它应该在开头或结尾处跳过单个'B'或单个'A'

    我的正则表达式有什么问题?

    编辑:

    我忘了添加这个。如果测试字符串是: &#34; ABrakadabra AB&#34;或者&#34;一些文字hahahAB&#34;或&#34; ABAB文本文本文本ABAB&#34;

    &#34; AB&#34;不应该匹配,因为它们不是分开的&#34; AB&#34;小组,但也是其他词的一部分。

1 个答案:

答案 0 :(得分:3)

&#13;
&#13;
bool exists = connection.ExecuteScalar<int>(
    "select count(1) from Table where notanId=@value", new { value = val})
     > 0;
&#13;
&#13;
&#13; 说明:

var rgx = /(^AB\s+)|(\s+AB$)/g;
console.log(
    "AB Some AB company name AB".replace(rgx, "")
);
console.log(
    "Balder Storstad AB".replace(rgx, "")
);
console.log(
    "ABrakadabra AB".replace(rgx, "")
);
console.log(
    "Some text hahahAB".replace(rgx, "")
);
console.log(
    "ABAB text text textABAB".replace(rgx, "")
);