preg_match_all 不工作

发布于 2024-12-26 01:43:01 字数 665 浏览 1 评论 0原文

以下正则表达式有什么问题?

$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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

反话 2025-01-02 01:43:01

recycler(s) 中的括号需要一个反斜杠。尝试:回收站\(s\)

the parentheses in recycler(s) need a backslash. try: recycler\(s\)

走过海棠暮 2025-01-02 01:43:01
Je \(([0-9.]*?)\) recycler\(s\) hebben een totale opslagcapaciteit van ([0-9.]*?)\s+
\s+In het bestemmingsveld \[2:188:7\] zweven ([0-9.]*?) metaal en ([0-9.]*?) kristal in de ruimte.\s+
\s+Je hebt ([0-9.]*?) metaal en ([0-9.]*?) kristal opgehaald.

我引用了 recycler(s) 中的 parans,在新行之前和之后添加了一些 \s+ ,并在正则表达式匹配中添加了 's' 修饰符

Je \(([0-9.]*?)\) recycler\(s\) hebben een totale opslagcapaciteit van ([0-9.]*?)\s+
\s+In het bestemmingsveld \[2:188:7\] zweven ([0-9.]*?) metaal en ([0-9.]*?) kristal in de ruimte.\s+
\s+Je hebt ([0-9.]*?) metaal en ([0-9.]*?) kristal opgehaald.

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文