首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >遇到困难--需要关于正则表达式和PHP5.3的preg_replace的建议

遇到困难--需要关于正则表达式和PHP5.3的preg_replace的建议
EN

Stack Overflow用户
提问于 2012-12-13 08:20:20
回答 3查看 64关注 0票数 1

我不知道如何在PHP (运行5.3.x)中做到这一点。

我将下面的文本字符串从一个txt文件拉到一个字符串变量中:

代码语言:javascript
复制
garbage here, more garbage here, more garbage, mor ..., garbage here, more garbage here, more garbage, mor ..., more garbage here, yet more garbage

我试图让字符串看起来像这样,并放回txt文件中是:

代码语言:javascript
复制
garbage here, more garbage here, more garbage, garbage here, more garbage here, more garbage, more garbage here, yet more garbage

我想找出一种方法来找出每一个"...“然后删除"...“后面的所有文本直到它命中第一次出现的",“,但没有任何运气。使用带有preg_replace函数的正则表达式可以做到这一点吗?到目前为止,我只删除了第一次出现",“和"...”之间的所有文本。但这不是我想要的。:(

不会有额外的逗号或"...“在“垃圾在这里”字符串中...也可以是"...“并不总是有尾随的",“。它可能只是“更多...更多的垃圾”

我只有PHP可用于此任务。这是可以做到的吗?今天下午我拿起了一本正则表达式的书,但到目前为止,我还没有找到任何可以完全完成我想要完成的任务的东西。

任何帮助都将不胜感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-13 08:25:35

您应该能够使用以下正则表达式:

代码语言:javascript
复制
(^|,)[^,]*\.{3}

将匹配项替换为空字符串。

解释:

代码语言:javascript
复制
(^|,)    # match a ',' or at the start of the string
[^,]*    # match any number of characters that are not ','
\.{3}    # match three '.' characters
票数 3
EN

Stack Overflow用户

发布于 2012-12-13 08:27:38

除了你的书之外,还可以看看this tutorial

您可能只需要在它之前和之后匹配...和尽可能多的非,字符(我们将使用一个否定的字符类来表示)(尽可能多地匹配,这是非常简单的,因为重复是贪婪的):

代码语言:javascript
复制
$string = preg_replace('/[^,]*[.]{3}[^,]*/', '', $string);

问题现在只剩下逗号了。我只需删除字符串开头或结尾的双,,和逗号:

代码语言:javascript
复制
$string = preg_replace('/^,+|,+(?=,)|,+$/', '', $string);

Working demo.

在一个正则表达式中完成所有这一切可能会很棘手,因为您需要处理三种情况:前导元素包含... (删除尾随,),中央元素包含... (删除周围的,之一),尾随元素包含... (删除前导,)。

票数 0
EN

Stack Overflow用户

发布于 2012-12-13 08:34:06

它非常具体,但应该是这样的:

代码语言:javascript
复制
$string = 'garbage here, more garbage here, more garbage, mor ..., garbage here, more garbage here, more garbage, mor ..., more garbage here, yet more garbage';
echo preg_replace('/,[^,]*\.{3}/', '', $string);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13851006

复制
相关文章

相似问题

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