我需要一个正则表达式,用于匹配字符串的开头或结尾恰好为'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" or "Some text hahahAB" or "ABAB text text textABAB"
"AB"不应被匹配,因为它们不是独立的"AB"组,而是其他单词的一部分。
A
或B
。通过添加+
量词,您还可以删除任何其他匹配字符,直到找到不匹配的字符为止。例如,“ABBBAAA\BBB\ text”将变为“ text”。 - Brian Stephens