使用正则表达式
(^([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])$)
验证ipv4地址工作正常,但我想知道是否有可能使正则表达式适用于字符串输入,如
63.88.73.253test
其中63.88.73.253是正则表达式的组合?
答案 0 :(得分:1)
选项1:
在你的正则表达式中,最后的$
表示在此表达式之后不会出现任何内容。只需删除$
即可^([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])
。另外,请确保您正在寻找事件,而不是匹配。
选项2:
假设您希望文本成为正则表达式的一部分,您可以删除$
,而是添加.*
,它将查找任何字符(假设您指定将空格视为普通字符) 。这将导致^([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5]).*
。在这里,您可以安全地寻找匹配。
注意:您在问题中使用的外括号是不必要的。第^
行的开头也会阻止您在IP之前的任何空格(实际上是任何字符),这可能是您不想要的。