一道正则表达式题目

有这样一首诗

感师恩
纷飞三十载,甘当摆渡人。
百年兴国梦,一片育才心。
术业专攻久,识见万丈深。
谆谆长者诲,爱生甚己身。

陶醉算法趣,数理有乾坤。
长困符号阵,推敲为求真。
沉思前人意,莫知晨与昏。
束身阁楼中,掩耳弃红尘。

明辨后生意,指点如有神。
劳形案牍上,昼夜批论文。
不图名与利,只愿木成林。
桃李芬芳日,师心便是春。

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

    //判断是否为手机访问
    const isMobile = (function () {
        var ua = navigator.userAgent;
        var ipad = ua.match(/(iPad).*OS\s([\d_]+)/),

            isIphone = !ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/),

            isAndroid = ua.match(/(Android)\s+([\d.]+)/)
        return isIphone || isAndroid
    })()

    function split(s) {
        if (!isMobile) return s
        return s.replace(/([^\u4e00-\u9fa5\n](?=[\u4e00-\u9fa5]))/g, "$1\n")
    }
  • \u4e00-\u9fa5表示全部汉字
  • (?=xxx)表示零宽断言
  • $1表示反向引用

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

参考资料

正则表达式进阶

转载于:https://www.cnblogs.com/weiyinfu/p/10946633.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值