2020/10/9关于正则表达式中的几个个小例子
1字母大小写的替换
<body><script>//将"the-first-name"替换成驼峰式写法"theFirstName"var str = "the-first-name";var reg = /-(\w)/g;//这里要用()分组不然下面的$不好用 会出错console.log(str.match(reg));//打印出匹配的字符 -f -nstr = str.replace(reg,function($,$1){return $1.toUpperCase();//大写的转化方法})console.log(str);</script>
</body>
注意replace不会改变原数组,要想得到新数组 str = str.replace(reg,function($,$1)
2转换字母的循序位置
<body><script>//将字母aabb转换成bbaavar str = "aabb";var reg = /(\w)\1(\w)\2/;//匹配的是xxyy型的数据 将第一个匹配重复匹配一次 第二个也重复一次 所以 var reg = /(\w)\1(\w)\2/;// console.log(str.match(reg));str = str.replace(reg,function($,$1,$2){//replace中的参数可以是方法return $2+$2+$1+$1;//函数需要返回值 不然没得结果})console.log(str);</script>
</body>
正则表达式中的()不可以省略
3搜索文本的内容并将关键字重点标出
<style>span {color: red;font-size: larger;}</style>
</head>
<body><div>嘉宾简介: 叶老师,祖籍陕西,现居住地上海,在股市打拼10余年,先后供职第一财经、中国教育电视台、贵州电视台等多家媒体特约财经嘉宾,独家创出《涨停战法》、《龙头首阴战法》、《底部交易法》等专著战法! 纵横股海以来,叶老师每天看盘、复盘的时间比睡觉都长,是一名技术信徒,盘感炒股常人,善于捕捉短线趋势,抓超短线强势个股。10月份以来,一周内创造出10战9胜,最大回测只有1.1%,高达136%的惊人收益。现在加叶老师老师微信: ,每天盘前免费送超短线股票池及操作策略。</div><input type="text" name="kw"><!-- 文本输入框,输入需要查询的内容 --><input type="button" onclick="change()" value="查询"><!-- 查询按钮 并添加了点击事件 --><script>var bt = document.querySelector("input[type = button]");//获得结点var all = document.querySelector("div").innerHTML;//获得div之中的内容function change(){var kw = document.querySelector("input").value;//获得输入的文本内容 value 得到内容var reg = new RegExp(kw,"g");var str =all.replace(reg,`${kw}`);//字符串的替代方法 模板字符串document.querySelector("div").innerHTML= str;//这里的document.querySelector("div").innerHTML不可以用all替代 会出错//将改变的内容给div}</script>
</body>
例子很简单 但是做的时候思路要清晰 然后就是要细心 不注意就会出错了,这里会用到正则表达式的第二种方法 因为前面一种书写的办法不可以满足需求了。
展示结果如下
。
。
。

4歌词的输出
<body><script>//``模板字符串允许换行输入 Es6新增let IrcStr =`[00:00.87]爸爸妈妈 - 李荣浩
[00:01.68]词:李荣浩
[00:02.74]曲:李荣浩
[00:20.20]我曾经很想知道
[00:23.39]同样的话要说多少次才好
[00:28.89]那些再三强调的老套
[00:32.80]长大了才知道是不是需要
[00:38.31]很少主动拥抱
[00:41.05]就算为了自豪
[00:43.64]腼腆的笑
[00:45.71]要强而又低调
[00:48.32]穿的布料
[00:50.38]我赠送的外套
[00:53.07]过时也不丢掉
[00:57.77]还是一样
[00:59.82]太多理所应当让人觉得平常
[01:06.59]不算太小的房
[01:09.16]冬暖夏凉的那间放着我的床
[01:15.91]歌颂这种平凡 一两句唱不完
[01:21.18]恩重如山 听起来不自然
[01:25.93]回头去看
[01:27.98]这是说了谢谢
[01:29.99]反而才亏欠的情感
[01:35.37]爸爸妈妈给我的不少不多
[01:39.34]足够我在这年代奔波
[01:42.16]足够我生活
[01:43.90]年少的轻狂不能用来挥霍
[01:48.64]也曾像朋友一样和我诉说
[01:54.07]爸爸妈妈总说经历的坎坷
[01:57.98]是度过青春的快乐
[02:02.69]这时候这个季节
[02:04.91]又想起了这首歌
[02:27.18]还是一样
[02:29.30]太多理所应当让人觉得平常
[02:35.96]不算太小的房
[02:38.56]冬暖夏凉的那间放着我的床
[02:45.31]歌颂这种平凡 一两句唱不完
[02:50.59]恩重如山 听起来不自然
[02:55.21]回头去看
[02:57.33]这是说了谢谢
[02:59.54]反而才亏欠的情感
[03:04.75]爸爸妈妈给我的不少不多
[03:08.54]足够我在这年代奔波
[03:11.47]足够我生活
[03:13.38]年少的轻狂不能用来挥霍
[03:17.94]也曾像朋友一样和我诉说
[03:23.48]爸爸妈妈总说经历的坎坷
[03:27.36]是度过青春的快乐
[03:32.09]这时候这个季节
[03:34.38]又想起了这首歌
[03:42.33]爸爸妈妈给我的不少不多
[03:46.14]足够我在这年代奔波
[03:49.18]足够我生活
[03:50.95]年少的轻狂不能用来挥霍
[03:55.69]也曾像朋友一样和我诉说
[04:01.29]爸爸妈妈总说经历的坎坷
[04:05.02]是度过青春的快乐
[04:12.10]这时候这个季节
[04:14.38]又想起了这首歌
`let IrcArr = IrcStr.trim().split("\n");//trim()去除前后的空格 split 指定什么来隔开//irc得到内容 index是下标IrcArr.forEach(function (Irc,index){//forEach数组遍历的方法··var reg = /^\[(\d{2}):(\d{2}\.\d{2})\](.*)$/;//分三组 var buffer = Irc.match(reg);setTimeout(function(){console.log(buffer[3]);}, buffer[1]*6000+buffer[2]*1000);//buffer3 是歌词 1 是分钟 2 是秒数});</script>
</body>
当你不知道输出是什么的时候你可以打印来看一哈。这样会比较清晰你的下一步改怎么做。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
