需要一些正则表达式的帮助(php)

例如,我有以下代码

$string  = "adf  gggg  eere value aaaa bbb (10) value 
ddttt ggg www (20) value ddttt ggg www dddd (40) ";
preg_match("/(value).*(\(\d+\))/is", $string, $result);
var_dump($result[2]); // outputs 40.

我想要获得第一个值(10).上面的代码输出40有意义,但不是我想要的.字符串模式是:单词“value”,然后是多个任何字符,然后是“(”,整数,“)”.似乎我错过了一些明显的东西…我没有用正则表达式做太多工作,但我相信它可以用某种方式解决?<!value,但到目前为止没有运气. 谢谢你的帮助.

解决方法:

.*是贪婪的,所以它会匹配尽可能多的字符,你想要的.*?这将匹配完成匹配所需的最小字符:

/(value).*?(\(\d+\))/

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...