快乐的JS正则表达式(开篇)

我不喜欢一开始就去讨论某某有多强大,因为我觉得那样没意思,首先我们的知道它是干什么,对我们有啥用,再去讨论它的强大之处也不迟。那和往常一样我们先来看几个例子。

var arr = [1,4,2,5,2,6,3,6,4,6,5];
就这样一段简单的数组如果我们想去重复也许需要这样做。

var arr = [1,4,2,5,2,6,3,6,4,6,5];
function dele(arr){
    for(var i=0;i<arr.length-1;i++){
        for(var j=i+1;j<arr.length;j++){
            if(arr[i]===arr[j]){
                arr.splice(j,1);
                j--;
            }
        }
    }
    return arr;
}
console.log(dele(arr)); //[1, 4, 2, 5, 6, 3]

  又比如我们想提取var str = ‘eignwererherhtml5ewrqrpasfnh‘ ;这段文本里面的html5,又应该怎么做,又或者var str = ‘http://www.web.com/‘;这段文本里面的网址又如何确定它是正确的格式?或许你很聪明可以做出来,如果我每添加一个要求,我想你也累的精疲力尽吧?也许你觉得我们工作中并不会用那么复杂的东西,但谁知道呢。

  当然正则的威力比你想象的牛逼多了,能不能发挥它的强大之处就看你如何运用了,虽然正则功能很强大,但是学习起来并没有那想象的那么复杂,如果你想深入的学习那另当别理,后面的几节将介绍正则的使用。

  我们还不知道什么是正则吧,那究竟是什么呢?

  如果从简单的方面来说,就是通过一段文本匹配另一段文本,注意是文本,也只能是文本,就是字符串,其他的不能匹配,通过匹配可以获取匹配到的内容以及替换匹配到的文本。从另外一点来说,正则就是通过特定的规则来匹配某一段文字,实际上我们学习正则就是学习它的规则。

时间: 2024-10-13 04:12:22

快乐的JS正则表达式(开篇)的相关文章

快乐的JS正则表达式(二)

在上一篇中介绍了一个test方法,在本文中将使用另外一个,exec方法可以找到匹配的结果并且返回结果以及位置.exec("正则"): 简单测试: var str = "{追梦子}"; var reg = /追梦子/; console.log(reg.exec(str)); //["追梦子", index: 1, input: "{追梦子}"] exec返回的是一个数组,第一位是匹配到的内容,第二位是匹配到的内容第一位置的索引,

JS正则表达式完整教程(略长)

JS正则表达式完整教程(略长) 引言 亲爱的读者朋友,如果你点开了这篇文章,说明你对正则很感兴趣. 想必你也了解正则的重要性,在我看来正则表达式是衡量程序员水平的一个侧面标准. 关于正则表达式的教程,网上也有很多,相信你也看了一些. 与之不同的是,本文的目的是希望所有认真读完的童鞋们,都有实质性的提高. 本文内容共有七章,用JavaScript语言完整地讨论了正则表达式的方方面面. 如果觉得文章某块儿没有说明白清楚,欢迎留言,能力范围之内,老姚必做详细解答. 具体章节如下: 引言 第一章 正则表

js正则表达式的match test exec replace函数

js正则表达式的方法:一种正则在前,一种正则在后: 使用: 1.exec var res = /\-[a-z]/g .exec("font-size"); console.log(res); 得到的结果: 所以返回的是一个数组,第一个为匹配值,第二个是匹配的位置,第三个是输入的数 2.test var res = /\-[a-z]/g .test("font-size");console.log(res); 返回为一个布尔值 3.match var res =(&q

JS 正则表达式否定匹配(正向前瞻)

引言:JS 正则表达式是 JS 学习过程中的一大难点,繁杂的匹配模式足以让人头大,不过其复杂性和其学习难度也赋予了它强大的功能.文章从 JS 正则表达式的正向前瞻说起,实现否定匹配的案例.本文适合有一定 JS 正则表达式基础的同学,如果对正则表达式并不了解,还需先学习基础再来观摩这门否定大法. 一.标签过滤需求 不知道大家在写JS有没有遇到过这样的情况,当你要处理一串字符串时,需要写一个正则表达式来匹配当中不是 XXX 的文本内容.听起来好像略有些奇怪,匹配不是 XXX 的内容,不是 XXX 我

JS正则表达式大全(整理详细且实用)

JS正则表达式大全(整理详细且实用).需要的朋友可以过来参考下,希望对大家有所帮助!! 正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界. -或- 对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*".

精通JS正则表达式(转)

精通JS正则表达式,讲的比较详细,学习正则表达式的朋友可以参考下. 正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证 •替换文本.可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字 •根据模式匹配从字符串中提取一个子字符串.可以用来在文本或输入字段中查找特定文字 正则表达式语法 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符

js 正则表达式 查找

<script>var str='<p><img style="width: 140px; height: 105px;" src="/ckfinder/userfiles/images/qi_cym.jpg" data-cke-saved-src="/ckfinder/userfiles/images/qi_cym.jpg"></p><p><br></p>';

js正则表达式:验证邮箱格式、密码复杂度、手机号码、QQ号码

直接上代码 Java 1 2 3 4 5 6 7 8 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83

Python之路-(js正则表达式、前端页面的模板套用、Django基础)

js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../  用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m 表示多行匹配 登录注册验证: test: 判断字符串是否符合规定的规则 rep = /\d+/;   (定义规则) rep.test('')   (引号里面必须包含字母和数字才返回true,否则为false) rep = /^\d+$/; (只有是纯数字时候才返回true,否则是false) exe