首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >regexp免费...我该怎么做呢?

regexp免费...我该怎么做呢?
EN

Stack Overflow用户
提问于 2011-02-05 08:23:41
回答 5查看 76关注 0票数 1

执行此操作的正确方法是什么?

代码语言:javascript
代码运行次数:0
运行
复制
<?php
$word = 'dogcatdog';
preg_match( '/do'."[^0-9]".'atdog/i', $word, $matches );
print_r($matches);
?>

我想返回"gc“。

我一直收到一个错误:“未知修饰符'['”。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-02-05 08:39:00

如果两只狗围绕着一只猫,我们首先可以观察到的是,猫会开始发出很多叫声,这会产生一个"Hsssss“。然后狗就会开始狂吠和咆哮,这就给了我们一声“格格格”的叫声。因此,这将产生类似于"Hsssss Grrr Grrr Hsssss BARK Hsssss Grrr“的内容。所以现在,记住我们想要"gc“作为我们的最终结果,我们应用下面的代码

代码语言:javascript
代码运行次数:0
运行
复制
$word = 'dogcatdog';
preg_match("[r]+", $word, $matches);
preg_match("(BARK)", $word, $matches);
preg_match("[Hs]+", $word, $matches);
$matches = "c";
preg_match("[G]+", $word, $matchesFinal);
$matches =  $matchesFinal[0] . $matches;

太棒了!

票数 4
EN

Stack Overflow用户

发布于 2011-02-05 08:27:36

代码语言:javascript
代码运行次数:0
运行
复制
preg_match( '/do([a-z]{2})atdog/i', $word, $matches );

如果你想找到gc,你永远不会去做[^0-9]。这将只查找任何非数字字符,因此将包括所有标点符号,以及除0..9之外的任何内容。

当然,如果您真的只想匹配字符串中的gc,您就会这样做。

代码语言:javascript
代码运行次数:0
运行
复制
preg_match( '/do(gc)atdog/i', $word, $matches );

然而,这似乎相当没有意义。

票数 1
EN

Stack Overflow用户

发布于 2011-02-05 08:26:53

我不知道具体的PHP语法,但试试这个:

代码语言:javascript
代码运行次数:0
运行
复制
preg_match( '/do([^0-9]+)atdog/i', $word, $matches );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4904237

复制
相关文章

相似问题

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