2019.8.1正则二

预习

//去除str中的字母
var str = ‘1sss2aaa3sdsdf4sf5sd622‘;
str = str.replace(/[a-z]*/g,‘‘);
console.log(str);

//查找a中出现最多的字符,打印次数
var a = ‘aaaavvvvbbbdddbeeeddcccc‘;
for(var i = 0,result = [];i < a.length;i++){
//在result中有以a[i]为下标的元素,则给元素a[i]+1
if(result[a[i]]){
result[a[i]]++;
}else{//否则,给这个元素赋值1
result[a[i]] = 1;
}
}
//打印出每个元素出现的次数
console.dir(result);
//给个max表示最大次数,char表示最多次数的下标
var max = 0;char = ‘‘;
//遍历每个元素
for(var key in result){
//找出每个下标里面最大的元素,让max为次数,char为下标
if(result[key] > max){
max = result[key];
char = key;
}
}
//打印
console.log(‘出现最多的是‘ + char + ‘,出现了‘ + max + ‘次‘);

新知识

<ul><li><a href="www.baidu.com">百度</a></li>
<li><a href="www.bailiban.com">百里半</a></li></ul>
<button onclick="ow()">验证</button>
<script type="text/javascript">
//RegExp对象中可以写正则表达式
//var reg = /正则/ig;
//1.创建固定不变的正则表达式,创建的是一个对象,直接量。
var str = ‘no can n/o say,you can you up‘;
var reg = /n\/o/g;//双斜杠里的斜杠需要用反斜杠配合
var arr = str.match(reg);
console.log(arr);

//2.创建动态的正则表达式
var mess = ‘床前明月光,一行白鹭上青天,日照香炉生紫烟‘;
var names = [‘月光‘,‘白鹭‘,‘香炉‘,‘紫烟‘];
var nameReg = new RegExp(names.join(‘|‘),‘g‘);
var kws = mess.match(nameReg);
console.log(kws);

//3.验证字符串是否符合正则表达式的要求
//var bool = reg.test(待检测字符串);
//输入六位数密码,验证。
function ow() {
var reg = /^\d{6}$/;
while(!reg.test(prompt(‘请输入密码:‘))){
alert(‘格式错误,请输入六位数密码‘)
}
document.write(‘<h1>验证通过</h1>‘);
}

//4.
var msg = ‘吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮‘;
reg = /([吃吐])葡萄/g;
while((arr = reg.exec(msg))!= null){
console.log(‘在位置‘ + arr[‘index‘] + ‘发现敏感词‘ +arr[‘0‘]);
}

//5.正则默认为贪婪模式,指匹配最长的符合的内容
//改为懒惰模式:
//1、.* .+ ====> .*? .+?
//2、[^XXX]*
var html = ‘<ul><li><a href="www.baidu.com">百度</a></li><li><a href="www.bailiban.com">百里半</a></li></ul>‘;
reg = /href="([^"]*)/ig;
while((reg.exec(html))!=null){
console.log(RegExp.$1);
}

四道题

<button onclick="one()">one</button>
<button onclick="two()">two</button>
<button onclick="three()">three</button>
<button onclick="four()">four</button>
<script type="text/javascript">
// 1. 如何自定义四舍五入的方法 要求是能根据任意小数位四舍五入
// var num = Number(prompt(‘请输入你要取整的小数:‘));
// console.log(num)
// var n = prompt(‘请输入你要保留的位数‘);
// console.log(num.toFixed(n));
function one(){
var num = prompt(‘请输入你要取整的小数:‘);
var d = prompt(‘请输入你要保留的位数‘);
try{
if(isNaN(num) || isNaN(d)){
console.log(‘请输入正确的数字!‘)
}else{
num = num*Math.pow(10,d);
num = Math.round(num);
console.log(num/Math.pow(10,d));
}
}catch(e){
console.log(String(e));
}
}

// 2. 算术计算的游戏,随机出十道题,接受用户答题,答对一题得10分,错一题扣10
// 如果输入的是exit,退出游戏最终给出得分
//
function two(){
var count = 0;
for(var i = 1; i < 11;i++){
var num1 = parseInt(Math.random()*10),num2 = parseInt(Math.random()*10);
var num = prompt(num1 + ‘+‘ + num2 + ‘的值是:‘);
if(num1 + num2 == num){
count += 10;
}else if (num == ‘exit‘){
break;
}else{
count -= 10;
}
}console.log(‘最终得分是:‘ + count);
}

// 3.计算两个时间之间相差的小时数
function three(){
var first = prompt(‘请输入第一个时间:‘);
var firstdate = new Date(first);
var second = prompt(‘请输入第二个时间:‘);
var seconddate = new Date(second);
var time = (seconddate - firstdate)/3600000;
console.log(‘中间相差了‘ + time + ‘个小时‘);
}

// 4当前时间格式化为:xxx年x月x日 星期x am/pm hh:mm:ss
function four(){
var nowdate = new Date();
console.log(nowdate);
var day = nowdate.getDay() == 0?‘六‘:nowdate.getDay() == 1?‘一‘:nowdate.getDay() == 2?‘二‘:nowdate.getDay() == 3?‘三‘:nowdate.getDay() == 4?‘四‘:nowdate.getDay() == 5?‘五‘:‘六‘;
var hours;
if(nowdate.getHours() > 12){
hours = ‘pm‘;
}else{
aours = ‘am‘;
}
var time = nowdate.getFullYear() + ‘年‘ + (nowdate.getMonth() + 1) + ‘月‘ + nowdate.getDate() + ‘日 ‘ + ‘ 星期‘ + day +‘ ‘ + hours + ‘ ‘ + nowdate.getHours() + ‘:‘ + nowdate.getMinutes() + ‘:‘ + nowdate.getSeconds();
console.log(time)
}

原文地址:https://www.cnblogs.com/awei313558147/p/11302422.html

时间: 2024-10-23 08:38:37

2019.8.1正则二的相关文章

“全栈2019”Java第二十二章:控制流程语句中的决策语句if-else

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第二十二章:控制流程语句中的决策语句if-else 下一章 "全栈2019"Java第二十三章:流程控制语句中决策语句switch上篇 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf

“全栈2019”Java第九十二章:外部类与内部类成员覆盖详解

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第九十二章:外部类与内部类成员覆盖详解 下一章 "全栈2019"Java第九十三章:内部类应用场景(迭代器设计模式) 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"

正则二

============================== 00. 课程回顾说明 1) 系统中的符号作用 a 便于搜索查找信息(文件名 文件中数据内容) b 表示一些特殊意义,便于我们操作 ~ . .. c 便于配合三剑客进行分析过滤文件内容 2) 系统中常见符号分类 系统特殊符号 基础符号: $ !(histroy) | # 引号符号: ""(会对部分特殊符号做解析) ''(所见即所得) ``(将引号里面的命令执行的结果交给外面的命令进行调用处理) 定向符号: > >&

js正则 (二)

// 正则 匹配规则//1)点字符(.)//点字符(.)匹配除回车(\r).换行(\n) .行分隔符(\u2028)和段分隔符(\u2029)以外的所有字符. //(2)位置字符//^ 表示字符串的开始位置//$ 表示字符串的结束位置// test必须出现在开始位置///^test/.test('test123') // true // test必须出现在结束位置///test$/.test('new test') // true // 从开始位置到结束位置只有test///^test$/.te

java 正则 二次转义

JAVA中的正则表达式“\\[([^\\]]+)\\]”这个表示什么意思?两个转义字符是为了表达什么? 正则表达式中“[”这样的字符有特殊的意义,所以需要写成“\[”.但是“\”本身也是具有特殊意义的转义字符. 所以“\[”就需要写成“\\[”.需要先对“\”进行一次转义 在正则中括号表示字符集,要表示中括号字符必须转义 整个正则匹配 中括号中的内容开头的\\[ 匹配" [ "字符尾部的\\]匹配 “]"字符中间的[([^\\]]+),表示所有非"]"字符

2019.7.31正则

正则表达式Regular(规则) Expression(表达式) 规定一个字符串中字符出现的规律的表达式 [email protected]/cn 1 when 只要使用一个种规则,模糊匹配关键词时 how 1.最简单的正则就是关键词原文 ex: 我 我是 我shi 内容: 我 我是 我shi 2.字符集:规定字符串中某一位字符,备选字符列表 只有一个字符,但是有多重选择字符 语法:[备选字符列表] 每个字符集只能匹配一位字符,且每个字符集中至少匹配一次 ex:[微wv][信x] 匹配到的内容:

[十二省联考2019]D2T2春节十二响

嘟嘟嘟 这题真没想到这么简单-- 首先有60分大礼:\(O(n ^ 2logn)\)贪心.(我也不知道为啥就是对的) 然后又送15分链:维护两个堆,每次去堆顶的最大值. 这时候得到75分已经很开心了,但其实离AC也就差一点点. 链的做法已经给了我们提示:合并两个堆.其实这就相当于二叉树.那多叉树呢?就合并多个堆呗!从子树向上递归的时候不断将子树启发式合并,复杂度就保证了. 代码真的很短 #include<cstdio> #include<iostream> #include<

正则匹配div中的a标记的href 和content

        很久后又一次接触正则,那种似曾相似的感觉,你是不是也有这样的感觉,这么小CASE的东西,我一定要把他彻底掌握了,于是花时间看手册,于是就明白了,于是下次又是似曾相似-- 总写下今天用到的地方: //demo $str = '<div class="test"> <div class="wcb"><li>li</li> <a href="m.vip.com/shoe/47">

“全栈2019”113篇Java基础学习资料及总结

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第一章:安装JDK11(Mac) "全栈2019"Java第二章:安装JDK11(Windows) "全栈2019"Java第三章:安装开发工具IntelliJ IDEA "全栈2019"Java第四章:创建第一个Java程序 "全栈2019