正则表达式模式差异-“ *”和“ +”

问题描述

| 我正在尝试将ѭ0替换为
inch
,即
12\" wall
会变成
12 inch wall
我有两种工作模式:
/\\b([0-9]+)\"/ -> preg_replace(\'/\\b([0-9]+)\"/\',\'$1 inch \',$string)
/\\b([0-9]*)\"/ -> preg_replace(\'/\\b([0-9]*)\"/\',$string)
那么它们之间有什么区别,为什么
+
*
以相同的方式工作? 干杯, /马辛     

解决方法

        +表示找到前一个字符/组1次或更多次。 *表示可以任意次数(0-无穷大)找到前一个字符/组     ,        “ 8”要求单词边界和“ 0”之间至少要有一位数字,而“ 10”也要接受零数字。因此,第一个不匹配空格,后跟“ 0”,第二个不匹配。 如果要同时对
new 15 \" tv
new 15\" tv
进行匹配,则需要与可能存在或可能不存在的空格字符匹配:
/\\b([0-9]+)\\s?\"/
这与单词边界匹配,后跟一个序列(一个或多个)数字,可选地后面跟一个空格(或制表符),再跟一个“ 0”。我想这就是您要寻找的。 如果不是,则应首先定义必须匹配的字符串和可能不匹配的字符串。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...