正则表达式?与*的区别
时间: 2023-05-13 20:07:37 浏览: 98
正则表达式中,?和*都是量词符号,用于匹配前面的字符或子表达式的出现次数。但是它们的含义略有不同:
?表示匹配前面的字符或子表达式零次或一次,即可选的。例如,ab?c可以匹配ac或abc。
*表示匹配前面的字符或子表达式零次或多次,即可选的或重复的。例如,ab*c可以匹配ac、abc、abbc、abbbc等。
因此,?和*的区别在于匹配的次数不同。
相关问题
正则表达式*和*?区别
正则表达式中的*和*?表示匹配前一个字符的重复次数,但它们之间存在一些区别。
*表示匹配前一个字符0次或无限次。例如,正则表达式"a*"表示匹配0个或多个连续的字符"a"。而正则表达式"aa*"表示匹配至少包含一个字符"a"的字符串,后面可以跟着任意多个字符"a"。这是贪婪模式,它会尽可能多地匹配字符。
*?表示非贪婪模式,匹配前一个字符0次或无限次,但尽可能少地匹配字符。例如,正则表达式"a*?"表示匹配0个或多个连续的字符"a",但是尽可能少地匹配字符。这种模式会返回最小的匹配结果。
综上所述,*匹配尽可能多的字符,而*?匹配尽可能少的字符。
正则表达式 *.*和 /*.* 有什么区别
正则表达式是一种用来描述字符串匹配规则的语法。在正则表达式中,"*"表示匹配任意数量的字符(包括0个字符),"."表示匹配除换行符外的任意一个字符。因此,"*.*"表示匹配任意长度的任意字符序列(包括空字符串),而"/*.*"则表示以斜杠开头,后跟任意长度的任意字符序列(包括空字符串)。换句话说,"/*.*"更加具体,只匹配以斜杠开头的字符串,而"*.*"则更加宽泛,可以匹配任意字符串。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)