【发布时间】:2018-02-13 19:08:52
【问题描述】:
我需要一个正则表达式来完全匹配设置在字符串开头或结尾的'AB' 字符,并将它们替换为''。注意:它不应该匹配该字符集的部分,只有当它全部出现时。
- 所以如果我有
'AB Some AB company name AB',它应该返回'Some AB company name'。 - 如果我有
'Balder Storstad AB',它应该只删除'AB',而不是开头的'B',因为它不是整个'AB',只是它的一部分。
我尝试的是:
name.replace(/^[\\AB]+|[\\AB]+$/g, "");
直到在字符串的开头或结尾遇到单个“A”或“B”都可以。如果测试字符串是'Balder Storstad AB',它匹配开头的'B'和结尾的'AB',并返回'alder Storstad'。它应该在开头或结尾跳过单个 'B' 或单个 'A'。
我的正则表达式有什么问题?
编辑:
我忘了添加这个。如果测试字符串是: "ABrakadabra AB" 或 "Some text hahahAB" 或 "ABAB text text textABAB"
“AB”不应匹配,因为它们不是单独的“AB”组,而是其他单词的一部分。
【问题讨论】:
-
正则表达式中的方括号用于字符类:它将匹配任何列出的字符。在您的情况下,反斜杠(出于某种原因)、
A或B。通过添加+量词,您还可以删除任何其他匹配的字符,直到找到不匹配的字符。例如,“ABBBAAA\BBB\ text”会变成“text”。
标签: javascript regex