正则表达式 匹配1-300所有数字,并求讲解
发布时间:2025-05-20 03:08:03 发布人:远客网络
一、正则表达式 匹配1-300所有数字,并求讲解
\b300\b|\b[12]?\d\d\b|\b[1-9]\b
所有的\b都是为了避免匹配一个大的数字的其中一部分。
\b字符开头+一些东西+\b字符结束,
300#百位是3,十位、个位只能是0
[12]?#百位如果是1、2【也可以没有】
\d\d#个位、十位两个数字可以是任意值
[1-9]#只有一位数字时,因不能是0,所以可以1~9
如果你数据里面没有单独两个0的情况,就不用改表达式
二、正则表达式“或“的使用
正则表达式,又称规则表达式。是计算机科学的一个概念。
正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。
正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
检查字符串是否符合正则表达式中的规则,有一次不匹配,则返回false。如:
String reg="[a-zA-Z]\\d?";//次表达式表示字符串的第一位只能是字母,第二位只能是数字或没有boolean flag=str.matches(reg);//返回结果为true。
所谓切割,即是按一定的规则将字符串分割成多个子字符串,如:
String str="zhangsan,lishi,wangwu"。
String reg=",";//表示以逗号作为切割符。
String[] arr=str.split(reg);//返回结果为{“zhangsan”,"lisi","wangwu}。
即将字符串中符合规则的字符替换成指定字符,如:
String str="sfhjhfh136hjasdf73466247fsjha8437482jfjsfh746376"。
str.replaceAll("\\d{3,}","#");//表示将连续出现三个或三个以上的数字替换成“#”。
参考资料来源:百度百科-正则表达式
三、正则匹配0000到99999之间的所有数字吗!
1、意思是匹配0~99999的数字,包括类似001这样的数字。
2、[1-9]表示1到9的数字,{0,1}表示0或或1个,即有或没有的意思,等价于正则中的?
3、[0-9]表示0-到9的数字,{0,4}表示0到4个
4、构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。
5、正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。
6、正则表达式是由普通字符(例如字符 a到 z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。