Php 结尾带有文字的条件正则表达式,仅当条件的某些部分也匹配时才匹配

Php 结尾带有文字的条件正则表达式,仅当条件的某些部分也匹配时才匹配,php,regex,Php,Regex,以下是我的测试代码: $strings=array( 'Low Minimum', 'Low 10 Piece Minimum', '10 piece minimum', '20 piece minimum', 'low 6 piece minimum', '100 piece minimum', 'This item is offered with a 1000 piece minimum', 'Place your order now. This item has a 75 piece mi

以下是我的测试代码:

$strings=array(
'Low Minimum',
'Low 10 Piece Minimum',
'10 piece minimum',
'20 piece minimum',
'low 6 piece minimum',
'100 piece minimum',
'This item is offered with a 1000 piece minimum',
'Place your order now. This item has a 75 piece minimum',
'Place your order now. This item has a low 75 piece minimum',
);

foreach($strings as $string)
  {
     echo preg_replace('/(low)? ?(\b[0-9]{0,3}\b) (piece minimum)/i',' Low Minumum',$string);
     echo '<br>';
  }
这是我想要的输出:

Low Minimum
Low Minumum
Low Minumum
Low Minumum
Low Minumum
Low Minumum
This item is offered with a 1000 piece minimum
Place your order now. This item has a Low Minumum
Place your order now. This item has a Low Minumum
把我搞砸的是4位数。 所以,“最小件数”应该只匹配之前的部分也匹配。
如何编写此文件?

对于所需的输出,您需要更改一个小错误

而不是

[0-9]{0,3}
应该是

[0-9]{1,3}

首先,删除最后一个数组条目中的逗号
“立即下单。此项的最小长度为75个',
@Fred ii-在最后一个指定的数组项后面加一个逗号在PHP中是技术上有效的语法。尽管这是否是一个好的编码实践是一个完全不同的问题。@JosephSilber从我以前多次看到的情况来看,最后一个条目不应该包含逗号,或者规则是否有例外?它不仅有效,而且是推荐的。这样,当您随后添加更多行时,您的提交不会影响该行。@Fred ii-所有条目都应该有一个尾随逗号。我得到了相同的输出。我验证了这一点!编辑:也就是说,我在两个测试站点的regex editorWorks中对其进行了测试。
[0-9]{1,3}