Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在电子邮件过滤设备上设置了一些规则,它只接受正则表达式来定义数字范围。不幸的是,我对正则表达式一无所知。我需要在某个范围内标记值。例如,我需要从值 1000001 开始并以值 8000000结束
(?<!\d)(?!1000000)\d{7}(?!\d)
这很好用,除了它标记 7 个数字值 1000001 及以上。我该如何设置限制?还是我需要写一个全新的表达式?
如果您更改\d{7}为该[1-7]\d{6}数字,将确保作为数字的一部分找到的第一个数字在 1-7 范围内(并且作为奖励,消除了前导零搞砸的可能性)。
\d{7}
[1-7]\d{6}
(?<!\d)(?!1000000)[1-7]\d{6}(?!\d)
这将使接受的最高值 7999999。如果它应该包含端点 8000000,您可以显式添加它,例如:
(?<!\d)(?!1000000)([1-7]\d{6}|8000000)(?!\d)