正则表达式应用之提炼百度歌词的实现代码

所属分类: 网络编程 / 正则表达式 阅读数: 1385
收藏 0 赞 0 分享


这里的歌词一般都是LRC格式的,是有时间的,如果想用作文本没有时间的话,文本里面的时间段就会成为了干扰障碍。
  下面是一首歌的Lrc歌词

复制代码 代码如下:

[ti:听说]
[ar:刘若英]
[al:我的失败与伟大]
[by:活在当下]
[00:01.22]刘若英 - 听说
[00:03.79]专辑名称:听说?
[00:06.73]作词:葛大为 作曲:林健华
[00:09.74]
[00:10.79]lrc制作:卜超 QQ:6313827
[00:25.13]
[00:27.08]听说 你身边有新面孔
[00:32.04]听说 你不再寂寞
[00:35.33]听说 你提起我
[00:38.73]我过得不错 忙碌中还有感动
[00:45.38]尝试爱过几个人 面对爱 也诚实许多
[00:52.86]只能被听说 安排着
[00:56.91]关于你我的 对的或错的
[00:60.00]两个人 曾经相似的 却以为都变了
[01:06.18]只能靠听说 各自爱着
[01:10.24]不需要证明 当时决定是错的
[01:13.31]想着联络 不如心底远远问候
[01:19.56]最美丽 莫过于听说你 还回忆
[01:24.80]其实我也感激 当我听说你还相信爱情
[01:45.82]
[01:47.83]听说 我巷口你常经过
[01:52.76]听说 你厌倦寂寞
[01:56.10]听说 你问候我
[01:59.52]我过得不错 忙碌中还有感动
[02:06.04]尝试爱过几个人 面对爱 也诚实许多
[02:52.11][02:12.94]
[02:52.67][02:13.35]只能被听说 安排着
[02:56.63][02:17.26]关于你我的 对的或错的
[02:59.77][02:20.32]两个人 曾经相似的 却以为都变了
[03:06.11][02:26.48]只能靠听说 各自爱着
[03:10.07][02:30.56]不需要证明 当时决定是错的
[03:13.10][02:33.62]想着联络 不如心底远远问候
[03:19.31][02:39.88]最美丽 莫过于听说你 还回忆
[03:24.58][02:45.12]其实我也感激 当我听说你还相信爱情
[03:33.66]
[03:36.56]听说 我身边有新面孔
[03:42.53]听说 你祝福了我
[03:52.39]
[03:53.93]lrc制作:卜超 QQ:6313827

这里的时间段很有规律,一般以“[”开头以“]”结尾,有重复的时候就会出现两段时间段。第一时间想到了正则表达式,于是就用正则表达式写了如下的程序
复制代码 代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta charset="UTF-8" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<body>
<?php
$contents2 = "";
$filename = "html/tingshuo.lrc";
$contents = file_get_contents($filename);
echo nl2br($contents);
echo "<br /><br />";
preg_match_all("/\][^\[].*+/",$contents,$array);
$numArray = count($array[0]);
for($i = 0;$i<$numArray;$i++){
$contents2.=trim($array[0][$i],"\]");//去除左边的“]”
$contents2.="<br />";
}
echo "<br /><h2>这是处理后的歌词记录</h2><br />";
echo $contents2;
echo "<br /><h2>这是未处理的歌词记录</h2><br />";
echo "<br />";
echo "<pre>";
print_r($array);
echo "</pre>";
?>
</body>
</html>

于是乎,终于看见一线完美的喜悦——
复制代码 代码如下:

[ti:听说]
[ar:刘若英]
[al:我的失败与伟大]
[by:活在当下]
[00:01.22]刘若英 - 听说
[00:03.79]专辑名称:听说?
[00:06.73]作词:葛大为 作曲:林健华
[00:09.74]
[00:10.79]lrc制作:卜超 QQ:6313827
[00:25.13]
[00:27.08]听说 你身边有新面孔
[00:32.04]听说 你不再寂寞
[00:35.33]听说 你提起我
[00:38.73]我过得不错 忙碌中还有感动
[00:45.38]尝试爱过几个人 面对爱 也诚实许多
[00:52.86]只能被听说 安排着
[00:56.91]关于你我的 对的或错的
[00:60.00]两个人 曾经相似的 却以为都变了
[01:06.18]只能靠听说 各自爱着
[01:10.24]不需要证明 当时决定是错的
[01:13.31]想着联络 不如心底远远问候
[01:19.56]最美丽 莫过于听说你 还回忆
[01:24.80]其实我也感激 当我听说你还相信爱情
[01:45.82]
[01:47.83]听说 我巷口你常经过
[01:52.76]听说 你厌倦寂寞
[01:56.10]听说 你问候我
[01:59.52]我过得不错 忙碌中还有感动
[02:06.04]尝试爱过几个人 面对爱 也诚实许多
[02:52.11][02:12.94]
[02:52.67][02:13.35]只能被听说 安排着
[02:56.63][02:17.26]关于你我的 对的或错的
[02:59.77][02:20.32]两个人 曾经相似的 却以为都变了
[03:06.11][02:26.48]只能靠听说 各自爱着
[03:10.07][02:30.56]不需要证明 当时决定是错的
[03:13.10][02:33.62]想着联络 不如心底远远问候
[03:19.31][02:39.88]最美丽 莫过于听说你 还回忆
[03:24.58][02:45.12]其实我也感激 当我听说你还相信爱情
[03:33.66]
[03:36.56]听说 我身边有新面孔
[03:42.53]听说 你祝福了我
[03:52.39]
[03:53.93]lrc制作:卜超 QQ:6313827
这是处理后的歌词记录
刘若英 - 听说
专辑名称:听说?
作词:葛大为 作曲:林健华
lrc制作:卜超 QQ:6313827
听说 你身边有新面孔
听说 你不再寂寞
听说 你提起我
我过得不错 忙碌中还有感动
尝试爱过几个人 面对爱 也诚实许多
只能被听说 安排着
关于你我的 对的或错的
两个人 曾经相似的 却以为都变了
只能靠听说 各自爱着
不需要证明 当时决定是错的
想着联络 不如心底远远问候
最美丽 莫过于听说你 还回忆
其实我也感激 当我听说你还相信爱情
听说 我巷口你常经过
听说 你厌倦寂寞
听说 你问候我
我过得不错 忙碌中还有感动
尝试爱过几个人 面对爱 也诚实许多
只能被听说 安排着
关于你我的 对的或错的
两个人 曾经相似的 却以为都变了
只能靠听说 各自爱着
不需要证明 当时决定是错的
想着联络 不如心底远远问候
最美丽 莫过于听说你 还回忆
其实我也感激 当我听说你还相信爱情
听说 我身边有新面孔
听说 你祝福了我
lrc制作:卜超 QQ:6313827
这是未处理的歌词记录
Array
(
[0] => Array
(
[0] => ]
[1] => ]
[2] => ]
[3] => ]
[4] => ]刘若英 - 听说
[5] => ]专辑名称:听说?
[6] => ]作词:葛大为 作曲:林健华
[7] => ]
[8] => ]lrc制作:卜超 QQ:6313827
[9] => ]
[10] => ]听说 你身边有新面孔
[11] => ]听说 你不再寂寞
[12] => ]听说 你提起我
[13] => ]我过得不错 忙碌中还有感动
[14] => ]尝试爱过几个人 面对爱 也诚实许多
[15] => ]只能被听说 安排着
[16] => ]关于你我的 对的或错的
[17] => ]两个人 曾经相似的 却以为都变了
[18] => ]只能靠听说 各自爱着
[19] => ]不需要证明 当时决定是错的
[20] => ]想着联络 不如心底远远问候
[21] => ]最美丽 莫过于听说你 还回忆
[22] => ]其实我也感激 当我听说你还相信爱情
[23] => ]
[24] => ]听说 我巷口你常经过
[25] => ]听说 你厌倦寂寞
[26] => ]听说 你问候我
[27] => ]我过得不错 忙碌中还有感动
[28] => ]尝试爱过几个人 面对爱 也诚实许多
[29] => ]
[30] => ]只能被听说 安排着
[31] => ]关于你我的 对的或错的
[32] => ]两个人 曾经相似的 却以为都变了
[33] => ]只能靠听说 各自爱着
[34] => ]不需要证明 当时决定是错的
[35] => ]想着联络 不如心底远远问候
[36] => ]最美丽 莫过于听说你 还回忆
[37] => ]其实我也感激 当我听说你还相信爱情
[38] => ]
[39] => ]听说 我身边有新面孔
[40] => ]听说 你祝福了我
[41] => ]
[42] => ]lrc制作:卜超 QQ:6313827
)
)

大功告成,正则表达式处理这类问题真的很好用,若有对本问更好的建议,欢迎留言

更多精彩内容其他人还在看

正则表达式匹配 非XXX的行

问题:如何匹配"非:.+123.123.123.10.+ " 行
收藏 0 赞 0 分享

正则表达式不包含属性

一个标签里不包含某个属性 的 正则表达式的写法
收藏 0 赞 0 分享

ASP正则函数替换分页后的参数

在分页系统里面用到的把page后面得东西都给丢掉
收藏 0 赞 0 分享

asp match正则函数使用Matchs实例

asp matchs函数提供了对正则表达式匹配的只读属性的访问。一直都用这个函数,没想到本站竟然没有这类文章,汗一个,最近我会多加一些这样的文章
收藏 0 赞 0 分享

asp 图片正则 替换,替换前检查图片是不是本地地址的方法

这个图片正则先检查图片的地址,不是本地的则用本地的asp突破盗链,方便使用,注意是答chinaz的朋友问的一个问题
收藏 0 赞 0 分享

java正则表达式彻底研究

从J2SE1.4起Java增加了对正则表达式的支持就是java.util.regex包
收藏 0 赞 0 分享

正则表达式口诀 正则表达式学习工具

正则表达式口诀 + 常用的正则表达式 + 正则表达式学习工具+正则处理工具 正则是每个程序员绕不开的堡垒,只有把它攻下来。我觉得正则之所以难,第一难是需要记忆,第二难是要求具备抽象逻辑思维。
收藏 0 赞 0 分享

比较实用的正则表达式学习笔记

最近在学习正则,一些比较有用的东西怕忘记,记下来,比较乱,想一条记录一条
收藏 0 赞 0 分享

asp只采集网站可见文本的正则

它可以过虑Js 可以过滤 CSS 过滤HTML标识,只采集页面的可见文本。
收藏 0 赞 0 分享

asp.net常用正则表达式

比较常用的多种语言支持的正则整理收集
收藏 0 赞 0 分享
查看更多