gpt4 book ai didi

c# - 将 "Max Length"添加到正则表达式

转载 作者:太空狗 更新时间:2023-10-29 20:03:13 25 4
gpt4 key购买 nike

我如何使用一个属性来扩展已经存在的正则表达式,该属性告诉正则表达式不能超过(比方说)255 的最大长度?

我有以下正则表达式:

([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[ 0-9]{1,3})(\]?)

我已经试过了,但是失败了:

{.,255([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1 ,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2, 4}|[0-9]{1,3})(\]?)}

最佳答案

如果它必须是完全基于正则表达式的解决方案,那么最好的方法是使用环视。

查看此示例:http://regex101.com/r/yM3vL0

我在这里所做的只是匹配最多 三个 个字符长的字符串。当然,对于我的例子来说,这不是最好的方法。但请忽略这一点,我只是想展示一个适合您的示例。

您还必须锚定您的模式,否则引擎将忽略环视(我必须深入解释这一点吗?)

换句话说,您可以在正则表达式中使用以下内容将其限制为最多 255 个字符:

^(?!^.{256})([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)

我也觉得我有责任告诉你你的正则表达式不好,你应该感到难过。

关于c# - 将 "Max Length"添加到正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13923652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com