【问题标题】:RegEx to exclude some users from Bugzilla GroupRegEx 将部分用户排除在 Bugzilla Group 之外
【发布时间】:2017-04-21 01:24:22
【问题描述】:

我的团队使用 Bugzilla 进行错误跟踪,我们使用带有 RegExes 的组功能来授予或拒绝对某些产品的访问权限。 我目前正在努力实现的是所有在其用户名中带有我们域的用户(例如“peter@mycompany.com”)都应该被允许访问产品 X。但我想排除所有也带有这个词的同事域前的“合作伙伴”(例如“clark-partner@mycompany.com”)。

我试图通过使用消极的目光来实现这一点:

(?<!partner)@mycompany.com$

问题:组中的用户再次登录 Bugzilla 后会被踢出。恐怕 RegEx 引擎不完全支持向后/向前看。如果不环顾四周,您将如何实现这一点?

提前致谢! dbug0685

【问题讨论】:

  • Bugzilla 是用 Perl 编写的,Perl 几乎是最强大的正则表达式引擎之一。我认为它甚至可能是最早实现前瞻/前瞻断言的引擎之一。

标签: regex regex-negation bugzilla


【解决方案1】:

也许试试这个正则表达式:^.*?(?&lt;!partner)@mycompany\.com$。带有partner 的电子邮件根本不会被匹配,而其他人会。我不知道您共享的正则表达式是否是全部,如果是这样,您肯定会在回溯之前错过.*。 .com 中的句点也应该转义,否则它将匹配任何字符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 2021-12-30
    • 2021-09-16
    • 2020-07-09
    • 2013-10-29
    • 2015-06-18
    相关资源
    最近更新 更多