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


这里的歌词一般都是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
)
)

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

时间: 2024-09-15 14:37:54

正则表达式应用之提炼百度歌词的实现代码_正则表达式的相关文章

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

这里的歌词一般都是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]听说 你身边有

正则表达式初运用之认证界面的实现代码_正则表达式

先给大家展示下效果图: 关键代码如下所示: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>Examples</title> <meta name="d

asp.net中利用正则表达式判断一个字符串是否为数字的代码_正则表达式

复制代码 代码如下: publicstaticbool IsNumeric(string value) { return Regex.IsMatch(value, @"^[+-]?\d*[.]?\d*$"); } publicstaticbool IsInt(string value) { return Regex.IsMatch(value, @"^[+-]?\d*$"); } publicstaticbool IsUnsign(string value) { r

最全的用正则批量去除Teleport Pro整站下载文件冗余代码_正则表达式

tppabs html原文件中tppabs标记是Teleport Pro软件留下的标记.该软件是离线浏览器,下载完整个网页后,它会在图片或超级链接标签内插入tppabs标签,以记录该图片或超级链接指向的原始地址.因为这个标签不是合法标签,所以普通浏览器会忽略它.但可以通过element.getAttribute("tppabs")在JS中读取这个属性. 如我们手动清除的话,那将是一个无法估计的工作量,需要批量清除.利用DreamWeaver正则表达式批量清除tppabs标签更加容易.快

php中常用的正则表达式的介绍及应用实例代码_正则表达式

更全面的实例,可以参考最常用的PHP正则表达式收集整理http://www.jb51.net/article/14049.htm php 正则表达式小结http://www.jb51.net/article/19831.htm PHP 正则表达式的几则使用技巧http://www.jb51.net/article/19832.htm 以下内容为php中常用的正则,正则是一门通用性的语法,可以在网上下载更全面的正则,提供学习! 作用:分割,匹配,查找,替换 1,php中两个常用的正则函数 preg

js 常用正则表达式表单验证代码_正则表达式

正则表达式使用详解 简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.其作用如下:测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证.替换文本.可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字.根据模式匹配从字符串中提取一个子字符串.可以用来在文本或输入字段中查找特定文字. 基本语法 在对正则表达式的功能和作用有了初步的了解之后,我们就来具体看一下正则表

正则表达式(括号)、[中括号]、{大括号}的区别小结_正则表达式

正则表达式的() [] {}有不同的意思. () 是为了提取匹配的字符串.表达式中有几个()就有几个相应的匹配字符串. (\s*)表示连续空格的字符串. []是定义匹配的字符范围.比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字.[\s*]表示空格或者*号. {}一般用来表示匹配的长度,比如 \s{3} 表示匹配三个空格,\s[1,3]表示匹配一到三个空格. (0-9) 匹配 '0-9′ 本身. [0-9]* 匹配数字(注意后面有 *,可以为空)[0-9]+ 匹配数字(注意后

JavaScript 正则表达式验证函数代码_正则表达式

利用正则表达式判断是否是0-9的阿拉伯数字 复制代码 代码如下: function regIsDigit(fData) { var reg = new RegExp("^[0-9]$"); return (reg.test(fData)); } 利用这则表达式获取字符串的长度 复制代码 代码如下: function regDataLength(fData) { var valLength = fData.length; var reg = new RegExp("^[\u03

20个正则表达式必知(能让你少写1,000行代码)_正则表达式

正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串做替换或者从某个串中取出符合某个条件的子串等. 列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的. 构造正则表达式的方法和创建数学表达式的方法一样.也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式.正则表达式的组件可以是单个的字符.字符集合.字符范围.字符间的选择或者所有这些组件