js正则表达式教程示例

正则表达式是项目开发中常用的模式,内容替换、表单认证、网络爬虫等,通过以下的例子我相信可以大概掌握正则表达式了

定义字符集 []

  • [a-e]表示a到e这些字符中的某一个字符

  • [a-z]26个字母之一

  • [aeiou]表示aeiou这5个字符其中的某一个字符

  • [a-zA-Z]表示大写、小写字母中的某一个字符

  • [a-zA-Z0-9_-]表示大写、小写字母、0-9、_、-中的某一个字符

  • [0-9]表示0到9之间的任意一个数字

  • [9-3] [z-a]不能从大往小写,有语法错误

     
    

特别字符集

  • $:匹配输入字符串的结尾位置

  • ^(托字符):表示字符串的开始位置,或者表示非

  • ():标记一个字表达式的开始和结束位置

  • :其前面那个单元出现0次或以上(任意次数)*

  • +:其前面那个单元出现1次或以上

  • ?:其前面那个单元出现0次或者1次

  • .点:匹配除换行符\n之外的任何单字符

  • \:用来转义的符号

  • |:表示两个之间的一个选择,或

     
    
    • ()小括号使用扩展

       
      

    模式修正符

    var 模式名称 = /模式内容/模式修正符;

    • i:忽略大小写

    • g:全局匹配(进行全局匹配的时候不给体现"模式单元"内容,默认是单次匹配,非全局)

       
      

    组合字符集

    • \d:表示数字[0-9]

    • \D:表示非数字[^0-9]

    • \w:表示字母、数字、下划线中其中一个[a-zA-Z0-9_]

    • \W:非字母、数字、下划线[^a-zA-Z0-9_]

    • \s:表示空格

    • \S:表示非空格

       
      

    限制字符集

    • {m}:前面单元出现m次
    • {m,}:前面单元至少出现m次,至多不限制
    • {m,n}:前面单元出现至少m次,至多n次
    • [^lsdf]:不是中括号中的任意一个字符
    • [^a-f]:不是中括号中范围的任意一个字符
    • var reg = /^apple/; 匹配内容开始有apple字样
    • var reg = /[^a-h]/; 不匹配a-h之间的字母

    正向反向匹配

    • 正向匹配:我们要查找出来的内容,右边必须出现指定的信息,并且其是辅助条件,不是结果的一部分。
      var reg = /pattern(?=模式)/;

    • 正向不匹配:我们要查找出来的内容,右边不能出现指定的信息,右边的信息是辅助条件,非结果部分。
      var reg = /pattern(?!模式)/;
      例如:

       
      
    • 反向匹配:左边必须出现指定信息
      var reg = /(?<=模式)pattern/;

    • 反向不匹配:左边不能出现指定信息
      var reg = /(?

你可能感兴趣的:(js正则表达式教程示例)