zoukankan      html  css  js  c++  java
  • 一道正则表达式题目

    有这样一首诗

    感师恩
    纷飞三十载,甘当摆渡人。
    百年兴国梦,一片育才心。
    术业专攻久,识见万丈深。
    谆谆长者诲,爱生甚己身。
    
    陶醉算法趣,数理有乾坤。
    长困符号阵,推敲为求真。
    沉思前人意,莫知晨与昏。
    束身阁楼中,掩耳弃红尘。
    
    明辨后生意,指点如有神。
    劳形案牍上,昼夜批论文。
    不图名与利,只愿木成林。
    桃李芬芳日,师心便是春。
    

    在手机端最好显示成一句一行。

        //判断是否为手机访问
        const isMobile = (function () {
            var ua = navigator.userAgent;
            var ipad = ua.match(/(iPad).*OSs([d_]+)/),
    
                isIphone = !ipad && ua.match(/(iPhonesOS)s([d_]+)/),
    
                isAndroid = ua.match(/(Android)s+([d.]+)/)
            return isIphone || isAndroid
        })()
    
        function split(s) {
            if (!isMobile) return s
            return s.replace(/([^u4e00-u9fa5
    ](?=[u4e00-u9fa5]))/g, "$1
    ")
        }
    
    • u4e00-u9fa5表示全部汉字
    • (?=xxx)表示零宽断言
    • $1表示反向引用

    这个问题用到了很多正则表达式知识,是一个很好的面试题。

    参考资料

    正则表达式进阶

  • 相关阅读:
    ionic:安装
    ionic:ionic 教程
    ORM-Draper-DbConnectionManipulator:return new {}
    ionic:目录
    ionic:temple
    开发框架-手机应用:ionic
    CSS3:CSS3 文本效果
    CSS3:CSS3 渐变(Gradients)
    CARP-VRRP-HSRP
    java实现输入日期
  • 原文地址:https://www.cnblogs.com/weiyinfu/p/10946633.html
Copyright © 2011-2022 走看看