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


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

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

    )

      大功告成,正则表达式处理这类问题真的很好用,若有对本问更好的建议,欢迎留言
  • 相关阅读:
    Apple Swift编程语言入门中文教程
    WWDC 2014 Session 208/231 CloudKit 读书笔记
    微信开源项目解说使用公开课
    winform 实现彩票功能
    c#+windows api SetWindowsHookEx 全局钩子 demo 下载
    GPS-Graph Processing System Graph Coloring算法分析 (三)
    00105_UDP和TCP协议
    雷林鹏分享:jQuery EasyUI 表单
    雷林鹏分享:jQuery EasyUI 表单
    雷林鹏分享:jQuery EasyUI 表单
  • 原文地址:https://www.cnblogs.com/picaso/p/2087028.html
Copyright © 2020-2023  润新知