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

所属分类: 网络编程 / 正则表达式 阅读数: 1364
收藏 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
)
)

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

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

正则表达式验证IPV4地址功能实例分析

这篇文章主要介绍了正则表达式验证IPV4地址功能,结合实例形式分析了IPV4地址验证的原理及具体实现技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

正则表达式教程之前后查找lookaround详解

这篇文章主要介绍了正则表达式教程之前后查找lookaround,结合具体问题分析了向前查找及向后查找功能的实现技巧与注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

正则匹配密码只能是数字和字母组合字符串功能【php与js实现】

这篇文章主要介绍了正则匹配密码只能是数字和字母组合字符串功能,涉及针对字符、数字等正则操作相关技巧,并给出了php与js实现示例,需要的朋友可以参考下
收藏 0 赞 0 分享

正则验证不能含有中文的实现方法【jQuery与java实现】

这篇文章主要介绍了正则验证不能含有中文的实现方法,结合jQuery与java两种实现方法分析了针对中文的正则验证操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

JS 密码强度校验的正则表达式(简单且好用)

最近在做一个通行证的项目,在项目中有这样的需求,注册模块中输入密码需要显示密码强度,今天小编给大家分享JS 密码强度校验的正则表达式,简单好用,需要的朋友参考下
收藏 0 赞 0 分享

iOS 正则表达式判断纯数字及匹配11位手机号码的方法

这篇文章主要介绍了iOS 正则表达式判断纯数字及匹配11位手机号码的方法,判断手机号码是否正确的方法很多,我是用正则表达式来完成匹配的,具体方法,大家参考下本文
收藏 0 赞 0 分享

正则表达式(简单易懂篇)

正则表达式是一种可以用于模式匹配和替换的强大工具。这篇文章主要介绍了正则表达式(简单易懂篇),需要的朋友参考下
收藏 0 赞 0 分享

正则表达式实现匹配连续数字的方法

我这两天刚刚学正则表达式。我觉的正则对连续的字符匹配很简单,但是对连续的一段数字匹配就不是很好。正好最近有朋友问了匹配连续数字的正则,就帮忙写了一下,算是当作温习一下吧。下面这篇文章就主要介绍了正则表达式实现匹配连续数字的方法。
收藏 0 赞 0 分享

正则表达式简介及在C++11中的简单使用教程

正则表达式(regular expression)是计算机科学中的一个概念,又称规则表达式,通常简写为regex、regexp、RE、regexps、regexes、regexen。接下来通过本文给大家介绍正则表达式简介及在C++11中的简单使用教程,一起通过本文学习吧
收藏 0 赞 0 分享

正则表达式实现最小匹配功能的方法

这篇文章主要介绍了正则表达式实现最小匹配功能的方法,结合具体实例形式分析了正则表达式最小匹配功能的原理与实现技巧,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多