首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式-如何将两组连接到一个值?

正则表达式-如何将两组连接到一个值?
EN

Stack Overflow用户
提问于 2014-03-13 23:06:28
回答 1查看 156关注 0票数 2

我又一次遇到了巨魔的问题。有这样的情况:

代码语言:javascript
复制
<?php 
    [...]
    $string="IchigoKurosaki FirstRandomTroll NatsuDragneel SecondRandomTroll NarutoUzumaki TrollMaster";
    //[do some magic here]
    //$outputArray = {
        [1] => "FirstRandomTroll SecondRandomTroll",
        [2] => "TrollMaster"
    }
?>

我想用preg_match在群里抓巨魔。我有3个组:

代码语言:javascript
复制
(firstRandomTroll), (secondRandomTroll), and (TrollMaster)

保存到$output中,格式为

代码语言:javascript
复制
[1] => "first...", [2]=> "second...", and [3]="TrollMaster".

是否可以仅使用一个正则表达式将1和2连接到一个值?

EN

回答 1

Stack Overflow用户

发布于 2014-03-13 23:19:52

我编写了一个正则表达式来捕获字符串中的每个巨魔:

代码语言:javascript
复制
$string="IchigoKurosaki FirstRandomTroll NatsuDragneel SecondRandomTroll NarutoUzumaki TrollMaster";

preg_match_all("([a-zA-Z]*Troll[a-zA-Z]*)", $string, $array);

print_r($array);

输出:

代码语言:javascript
复制
Array
(
    [0] => Array
        (
            [0] => FirstRandomTroll
            [1] => SecondRandomTroll
            [2] => TrollMaster
        )
)

巨魔现在是孤立的(这是更好的,对吧?)

现在,您可以对数组的元素执行操作以对它们进行重组(听起来不是一个好主意,我们正在讨论的是巨魔……)。只要小心这个数组的结构即可。

现在,如果你真的,真的想一次捕获两个巨魔,我认为用一个正则表达式是不可能的。您可以将其重写为具有两个捕获组,但这不会立即在一个字符串中输出两个巨魔……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22382807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档