`

正则表达式的学习小结

阅读更多
   一直以来都想学习下,正则表达式,因为其在模式匹配和替换中真是太实用了,最近为了搞一个替换URL的方法,看了下正则表达式,正则表达式主要有以下几类字符,现在把自己学到的东西总结下
1,元字符
  其是用来规定其前导字符在匹配模式中出现的次数的,主要有以下3个
  "+":表示前导字符在匹配模式中出现1次或多次。比如/li+/,匹配的字符有lin,liin等..
  "*":表示前导字符在匹配模式中出现0次或多次。比如/li*/,匹配的字符有long,lin,liin等
  "?":表示前导字符在匹配模式中出现0次或1次。比如/li?/,匹配的字符有long,lin等,liin不匹配。
  "\s":匹配单个空格,包括换行符,Tab
  "\S":匹配除了单个空格符的所有字符
  "\d":匹配0-9
  "\w":匹配字母,数字,下划线
  "\W":除了"\w"的所有字符
  ".":匹配除换行符外的所有字符
  "^":匹配的字符出现在目标字符串开端 eg:/^a/,匹配字符有apple,apollo等等
  "$":匹配的字符出现在目标字符串尾端 eg:/$a/,匹配的字符有bea,area等等
  "\b":匹配的字符出现在目标字符串的两个边界之一 eg:/\ba/,匹配的字符串有apple,area等
  "\B":非两个边界 eg:/\Ba/,匹配的字符串有cat等

2,限定符
   其实用来限定前导字符在匹配模式中出现的次数的
  "{n}":表示前导字符在匹配模式中出现n次,eg:/fo{2}/,匹配的字符有food,fool等
  "{n,}":表示前导字符在匹配模式中至少出现n次,eg:/fo{2,},匹配的字符有food,fooool等
  "{n,m}":表示前导字符在匹配模式中至少出现那次,最多出现m次,eg:/fo{1,2}/,匹配的模式有for,food,fool等

3,范围符
   其作用就是匹配一个范围的任意字符
   "[n-m]",匹配从n到m的任意字符, eg/[a-z]/,匹配从a到z任意字符
4,"()"
  "()":主要的作用就是把多个字符组合在一起当一个字符用, eg:/^([a-z][0-9])+/ 匹配的字符有A1,A22等

好了,先讲这么多,把我之前用到正则表达式的例子大家分享下,我的函数主要是为了是实现多语言的切换,在我的URL中,如果没有PREFER_LANGUAGE参数的话,我就加一个PREFER_LANGUAGE参数,如果有的话,就把PREFER_LANGUAGE参数的值改成我们想要的值,具体的代码如下:
 function getNewURL(paraName,value){
   var oldURL = window.location.href.toString();
   var newURL;
   if(oldURL.indexOf("?")==-1){
      newURL=oldURL+"?"+paraName+"="+value; 
   }else{
      if(oldURL.indexOf(paraName)==-1){
         newURL = oldURL+"&"+paraName+"="+value;
      }else{
         var regex = eval("/("+paraName+")([^&]*)/");
         newURl=oldURL.replace(regex,paraName+"="+value);
      }
   }
  return newURL;
 }
分享到:
评论

相关推荐

    个人 正则表达式 学习小结

    正则表达式学习小结 基础学习 正则表达式学习小结 基础学习

    正则表达式学习笔记小结分享

    正则表达式学习笔记小结分享,学习正则表达式的人,开发,实施都会用到。技术分享培训ppt课件。

    python 正则表达式学习小结

    主要介绍了python 正则表达式学习小结的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下

    18.C#字符串和正则表达式参考手册 影印版

    C#字符串和正则表达式参考手册 目 录 第1章 系统处理文本的方式 1 1.1 .NET Framework 1 1.1.1 公共语言运行时 2 1.1.2 .NET Framework类库 3 1.2 文本是一种数据类型 4 1.2.1 C#的数据类型 5 1.2.2 字符和字符集 6 ...

    正则表达式必知必会pdf

    目录 · · · · · ·第1章 正则表达式入门1.1 正则表达式的用途1.2 如何使用正则表达式1.3 什么是正则表达式1.4 使用正则表达式1.5 在继续学习之前1.6 小结第2章 匹配单个字符2.1 匹配纯文本2.2 匹配任意字符2.3 ...

    正则表达式小结

    在学习了正则表达式之后的小小总结,希望对大家有所帮助,祝你成功

    PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)

    前面我们已经学习了正则表达式的基础语法,包括了定界符、原子、元字符和模式修正 符。实际上正则表达式想要起作用的话,就必须借用正则表达式处理函数。本节我们就来介绍一下PHP中基于perl的正则表达式处理函数,...

    Python正则表达式急速入门(小结)

    这篇文章我将带领大家利用 Python 来学习一下正则表达式。在阅读这篇文章前你需要掌握 Python 基础知识,或者具有其他开发语言的基础知识也可以,因为基本上每种语言使用正则表达式的方式都是类似的。 零、正则...

    javascript之正则表达式基础知识小结

    javascript之正则表达式基础知识小结,对于学习正则表达式的朋友是个不错的基础入门资料。

    iOS开发验证判断语句之正则表达式小结

    最近在公司接手重构一个项目,发现之前的开发在验证格式这块写的太乱了,到处都有相关的验证代码,所以就有了这篇文章,供自己收藏也分享给有需要的朋友们参考借鉴,下面跟着小编来一起学习学习吧。

    php中常用的正则表达式的介绍及应用实例代码

    php 正则表达式小结//www.jb51.net/article/19831.htm PHP 正则表达式的几则使用技巧//www.jb51.net/article/19832.htm以下内容为php中常用的正则,正则是一门通用性的语法,可以在网上下载更全面的正则,提供学习!...

    PHP 正则表达式常用函数使用小结

    学习php正则的朋友不得不了解的一些函数,大家看了下面的文章就知道了php下正则表达式的调用方法。

    Python中正则表达式小结

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例。本文的内容不包括如何编写高效的正则表达式、如何优化正则表达式,这些主题请查看其他教程。

    JavaScript学习小结(7)之JS RegExp

    在js中,正则表达式是由一个RegExp对象表示的,RegExp 是正则表达式的缩写。RegExp简单的模式可以是一个单独的字符。更复杂的模式包括了更多的字符,并可用于解析、格式检查、替换等等。可以使用一个RegExp()构造函数...

    AI人工智能工程师学习

    │ │ 一章小结 │ │ 一章概述 │ │ 字符串基本处理与正则表达式文本匹配与替换 │ │ 字符串处理 │ │ 文本数据、字、词、term │ │ 模式匹配与正则表达式 │ │ │ ├─第二章英文文本处理与解析 │ │ ...

    利用JS判断字符串是否含有数字与特殊字符的方法小结

    文中有几种不同的方法,包括普通的JS验证法、正则表达式法,另外还有判断是否为浮点数的js函数,在最后还将简要介绍下isNAN函数的使用方法和例子,来一起学习学习吧。 一、正则表达式方法判断是否为数字,包括判断...

    Python爬虫教学视频-最全的Python爬虫视频教程全集

    5正则表达式回顾 6抓取智联招聘 7抓取51job 8作业 Python爬虫实战学习day2 1response网络详细信息 2agent代{过}{滤}理解决网站屏蔽3agent也可以冒充手机或者ipad浏览器4get模拟百度5get模拟智联招聘6get小结7post...

Global site tag (gtag.js) - Google Analytics