正则表达式 正整数和小数和实数和端口号

本文详细介绍了几种常用的正则表达式模式,包括实数、正数、负数及小数的匹配规则,并提供了端口号验证的具体正则表达式。通过这些实例,读者可以更好地理解和运用正则表达式进行字符串匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$


实数

正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$

端口号:(每一个位置都小于250,不能够以0开头。。。)

((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))


参考:http://www.cnblogs.com/zxin/archive/2013/01/26/2877765.html

### Java 正则表达式匹配整数小数 在 Java 中,正则表达式可以用于字符串解析以及字符替换操作[^1]。为了匹配整数小数,可以根据特定模式构建相应的正则表达式。 对于整数而言,简单的正则表达式如下所示: ```java String integerPattern = "^[+-]?\\d+$"; ``` 此模式解释为: - `^` 表示匹配输入的开始位置。 - `[+-]?` 可选地匹配加号或减号。 - `\\d+` 匹配一位或多位于数字字符。 - `$` 表示匹配输入结束的位置。 针对小数,则可采用更复杂的正则表达式来处理不同情况的小数值: ```java String decimalPattern = "^[+-]?(\\d*[.]?\\d+|\\d+[.]\\d*)$"; ``` 该模式涵盖了多种可能性: - 小数点前后的任意数量的数字(允许为空),但至少存在一侧有数字; - 加上可能存在的正负符号; 下面是一个完整的例子展示如何利用上述两种类型的正则表达式来进行验证: ```java import java.util.regex.*; public class Main { public static void main(String[] args) { String[] testData = {"123", "-456", "+789", "0.123", ".456", "789.", "-0.123", "+.456", "789.0"}; Pattern intPat = Pattern.compile("^[+-]?\\d+$"); Pattern decPat = Pattern.compile("^[+-]?(\\d*[.]?\\d+|\\d+[.]\\d*)$"); for (String data : testData){ Matcher mInt = intPat.matcher(data); Matcher mDec = decPat.matcher(data); if(mInt.matches()){ System.out.println("\""+data+"\" 是一个有效的整数."); } else if(mDec.matches()){ System.out.println("\""+data+"\" 是一个有效的小数."); } else{ System.out.println("\""+data+"\" 不是合法的整数也不是小数."); } } } } ``` 这段程序会遍历给定的数据集并分别尝试用两个不同的正则表达式去匹配每一个条目,从而判断其属于哪种类型或者不符合任何一种定义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值