正则表达式应用之提炼歌词

  前几天看了下百度音乐盒的功能,发现有歌词功能

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

)
复制代码

  大功告成,正则表达式处理这类问题真的很好用,若有对本问更好的建议,欢迎留言
posted @   小 伍  阅读(2665)  评论(19编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示