我在想......
写作时(js)
var t="1234ABC4321".match(/.*(ABC).*/)
它返回:
["1234ABC4321", "ABC"]
我可以用, "ABC"]
(?:...)
部分
但是,群组适用于:backreference
,因此我可以在\1
稍后引用它们。
问题:
为什么“ABC”会作为比赛的一部分返回?
如果他需要自己供以后参考,fine
!但是不要将它保存在我的收藏中!
有没有逻辑(我确定有)?
答案 0 :(得分:3)
我不确定我是否理解你的问题,但在分组时,你得到的第一组是正则表达式匹配的整个字符串。如果您不想获得辅助组(ABC
),请删除括号((
和)
),因为这些表示正则表达式中的组,因此此正则表达式:{{1应该让你有一组/.*ABC.*/
。
答案 1 :(得分:2)
逻辑是match()方法检查你的字符串是否与正则表达式匹配。如果是这样,它将返回与正则表达式匹配的字符串部分。如果您使用()指定分组,它也将返回组。
如果您要从字符串中删除ABC,请使用:
var t="1234ABC4321".replace(/ABC/, "");