0
以下正则表达式有什么问题?preg_match_all不工作
$source =
"Je (1200) recycler(s) hebben een totale opslagcapaciteit van 24.000.000.
In het bestemmingsveld [2:188:7] zweven 0 metaal en 5.000 kristal in de ruimte.
Je hebt 0 metaal en 5.000 kristal opgehaald."
echo $source;
$regex = 'Je \(([0-9.]*?)\) recycler(s) hebben een totale opslagcapaciteit van ([0-9.]*?). ';
$regex .= 'In het bestemmingsveld \[2:188:7\] zweven ([0-9.]*?) metaal en ([0-9.]*?) kristal in de ruimte. ';
$regex .= 'Je hebt ([0-9.]*?) metaal en ([0-9.]*?) kristal opgehaald.';
$matches = array();
preg_match_all('/' . $regex . '/i', $source, $matches, PREG_SET_ORDER);
print_r($matches);
是您的上几行输入像在这个例子中一样?另外,你的数字应该用'[0-9] +(?:\。[0-9] +)*',而不是'[0-9]。*?'_ – fge 2012-01-10 19:52:09
你应该用什么来期待它呢? ?你是否收到任何错误讯息? – 2012-01-10 19:52:32
我认为你 - 至少在一件事情上 - 需要避开一些团体的时期。 ([0-9。] *?)应该是([0-9 \。] *?) - 点否则收集所有字符,然后0-9没有意义(如果那是点,我认为它不是) – 2012-01-10 19:54:20