为什么要返回Regex组?

为什么要返回Regex组?,regex,Regex,我在想 当我写作时(js) 它返回: ["1234ABC4321", "ABC"] 我可以用(?:…) 但是,组用于:backreference,因此我可以稍后通过\1引用它们 问题: 为什么“ABC”作为匹配的一部分返回? 如果他需要它作为自己以后的参考,好的!但是不要把它放在我的收藏中 有什么逻辑(我相信有) 我不确定我是否理解您的问题,但在分组时,您得到的第一组是由正则表达式匹配的整个字符串。如果您不想获得第二个组(ABC),请删除括号((和)),因为这些括号表示正则表达式中的组,因此此

我在想

当我写作时(js)

它返回:

["1234ABC4321", "ABC"]
我可以用
(?:…)

但是,组用于:
backreference
,因此我可以稍后通过
\1
引用它们

问题:

为什么“ABC”作为匹配的一部分返回? 如果他需要它作为自己以后的参考,
好的
!但是不要把它放在我的收藏中


有什么逻辑(我相信有)

我不确定我是否理解您的问题,但在分组时,您得到的第一组是由正则表达式匹配的整个字符串。如果您不想获得第二个组(ABC),请删除括号(
),因为这些括号表示正则表达式中的组,因此此正则表达式:
/.*ABC.*/
应该为您提供一个组
1234ABC4321

我不确定是否理解您的问题,但在分组时,您得到的第一个组是由正则表达式匹配的整个字符串。如果您不想获得第二个组(
ABC
),请删除括号(
),因为这些括号表示正则表达式中的组,因此此正则表达式:
/.*ABC.*/
应该为您提供一个组
1234ABC4321
逻辑是匹配()方法检查字符串是否与regexp匹配。如果返回,则返回字符串中与regexp匹配的部分。如果指定grouping with(),它也将返回组

如果您希望从字符串中删除ABC,请使用:

var t="1234ABC4321".replace(/ABC/, "");

逻辑是match()方法检查字符串是否与regexp匹配。如果返回,则返回字符串中与regexp匹配的部分。如果指定grouping with(),它也将返回组

如果您希望从字符串中删除ABC,请使用:

var t="1234ABC4321".replace(/ABC/, "");