Regex 只匹配正则表达式而不匹配关键字

Regex 只匹配正则表达式而不匹配关键字,regex,google-apps-script,Regex,Google Apps Script,我有一个类似字符串的文本创建列表检查编辑。需要有关正则表达式的帮助以仅匹配而不列出 关键字可以是任何泛型类型,如 IList<T> List<T> etc 我试着用哪一个匹配,下面哪一个匹配,但不确定如何将两者混合 ((List|ilist|IList|IEnumerable|IQuerable)(<)([A-Za-z.,\[\]\s]*)(>))|(<T>) 使用零宽度负查找断言?: 在支持这样一种模式的语言中: (?<!(List|i

我有一个类似字符串的文本创建列表检查编辑。需要有关正则表达式的帮助以仅匹配而不列出

关键字可以是任何泛型类型,如

IList<T>
List<T>
etc
我试着用哪一个匹配,下面哪一个匹配,但不确定如何将两者混合

((List|ilist|IList|IEnumerable|IQuerable)(<)([A-Za-z.,\[\]\s]*)(>))|(<T>)

使用零宽度负查找断言?:


在支持这样一种模式的语言中:

(?<!(List|ilist|IList|IEnumerable|IQuerable))<([a-zA-Z]+)>

在JavaScript中,您可能需要使用两种模式来获得相同的结果,测试一次尖括号模式,然后再次测试以确保前面没有类型信息。

您可以做的是匹配您不想保留的内容,并在组中捕获您想保留的内容:

\b(?:List|ilist|IList|IEnumerable|IQuerable)<[^<>]*>|(<[a-zA-Z]+>)

@你能举个完整的例子吗。同样,我在使用Google Appscript,正如你所知,消极的查找不适用于其他回答。消极的查找不适用于Google Appscript。如果还有其他选择,那么您可能希望删除C标记。我没有一个好的javascript解决方案只在一个正则表达式中实现,您可能需要使用两个?啊!!绝对是个大错误。。。远离的
\b(?:List|ilist|IList|IEnumerable|IQuerable)<[^<>]*>|(<[a-zA-Z]+>)