借助正则表达式提取内容

Posted

技术标签:

【中文标题】借助正则表达式提取内容【英文标题】:Extract the contents with the help of a regular expression 【发布时间】:2017-06-26 01:29:15 【问题描述】:

有一个字符串的形式

'[Text1] text2 - text3' 或'text2 - text3' 也就是说,有时方括号中有 [text1],有时没有。并且总是在 text2 之前是 '-'

需要修剪的,php表示只保留'text2'

示例:

[蒂姆香肠] 对于阿努比斯 - 征服者 - 坚定的防守者

Overwrath - 评论头

Warpatch Hemos - 开始“发烧”

应该得到

For Anubis
Overwrath
Warpatch Hemos

【问题讨论】:

【参考方案1】:

尝试做这样的事情:

$arr = array(
    '[Tim sausage] For Anubis - Conqueror - a staunch defender',
    'Overwrath - commented Head',
    'Warpatch Hemos - Began "fever"'
);

foreach($arr as $v)

    $v = preg_replace("!\[.*\]!", '', $v);
    $v = preg_replace("!\-.*!", '', $v);
    echo $v.'<br/>;

【讨论】:

以上是关于借助正则表达式提取内容的主要内容,如果未能解决你的问题,请参考以下文章

c#使用正则表达式提取内容

正则表达式如何匹配提取括号中的内容

c#用正则表达式提取小括号中的内容

正则提取中间的内容?

使用正则表达式从 Twitter 数据中提取用户名

PHP正则表达式取文本中间内容。