失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python 匹配数字范围_正则表达式 匹配 数字 范围

python 匹配数字范围_正则表达式 匹配 数字 范围

时间:2021-03-01 00:50:04

相关推荐

python 匹配数字范围_正则表达式 匹配 数字 范围

相关推荐:正则表达式

正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。 匹配中文字符的正则表达式: [/u4e00-/u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^/x00-/xff] 评

今天要写一个正则表达式,来做前端校验。主要部分是 用来匹配1~4095的数字。

现在就以这个为例,说一下表示范围的正则怎么写。

1、只有1~3位数字,即数字范围:1~999。

分析:第1个数字是1~9,后面的可以出现0~9的数字,最多2位。于是,就有了下面的字符串:

"[1-9]\\d{0,2}+"

2、4位数的,要小于等于4095,即数字范围:1000~4095。

分析:第1位,可以是1~4;第2位,依赖第1位,当第1位是4的时候,第2位只能是0;同理,第3位依赖第2位;第4位依赖第3位。所以,就有了以下代码:

"[1-4]\\d(?

这里用的是非捕获(?

完整代码如下:

package com.lippeng.helloworld;

import java.io.UnsupportedEncodingException;

public class HelloWorld {

public static void main(String[] args) throws UnsupportedEncodingException {

// 1~4095

String regex = "[1-9]\\d{0,2}+|[1-4]\\d(?

String[] strArray = { "4094", "4095", "4096", "5000", "4000", "900", "10", "9", "0", "1", "-1", "a", "@" };

for (String str : strArray) {

System.out.println(str + " " + str.matches(regex));

}

}

}

测试结果:

4094 true

4095 true

4096 false

5000 false

4000 true

900 true

10 true

9 true

0 false

1 true

-1 false

a false

@ false

如果觉得《python 匹配数字范围_正则表达式 匹配 数字 范围》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。