您当前的位置:首页 > 互联网教程

正则表达式 只能出现一次或0次

发布时间:2025-05-20 03:55:23    发布人:远客网络

正则表达式 只能出现一次或0次

一、正则表达式 只能出现一次或0次

这个正则表达式是不会接受个位数的,它只接受两位以上的数。

[0-9]*这个代表0-9中的数出现一次或N次

[.]?这个不只是代表一个点了,也可以是其他(中文或者英文或者数字),并且只能出现一个或0个

[1-9]+这里就代表1-9中必须出现至少一次

所以综上2是不接受的。可以匹配的如下例子:

二、正则表达式“或“的使用

正则表达式,又称规则表达式。是计算机科学的一个概念。

正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在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,}","#");//表示将连续出现三个或三个以上的数字替换成“#”。

参考资料来源:百度百科-正则表达式

三、正则表达式里面 .* 和 .* 有什么区别

1、表达式.*就是单个字符匹配任意次,即贪婪匹配。

2、表达式.*?是满足条件的情况只匹配一次,即最小匹配.

3、\s匹配任何空白非打印字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意 Unicode正则表达式会匹配全角空格符。

4、\S匹配任何非空白非打印字符。等价于 [^ \f\n\r\t\v]。

5、*限定符是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或最小匹配。

6、比如:<H1>Chapter 1-介绍正则表达式</H1>

7、使用/<.*>/匹配的结果为:H1>Chapter 1-介绍正则表达式</H1。

8、使用/<.*?>/匹配结果为:H1。