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);
What is wrong in following regex?
$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);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
recycler(s)
中的括号需要一个反斜杠。尝试:回收站\(s\)
the parentheses in
recycler(s)
need a backslash. try:recycler\(s\)
我引用了 recycler(s) 中的 parans,在新行之前和之后添加了一些 \s+ ,并在正则表达式匹配中添加了 's' 修饰符
I quotes the parans in recycler(s), added some \s+ before and after the new lines and added a 's' modifier to the regex match