一直以来都想学习下,正则表达式,因为其在模式匹配和替换中真是太实用了,最近为了搞一个替换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 正则表达式学习小结的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
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 ...
目录 · · · · · ·第1章 正则表达式入门1.1 正则表达式的用途1.2 如何使用正则表达式1.3 什么是正则表达式1.4 使用正则表达式1.5 在继续学习之前1.6 小结第2章 匹配单个字符2.1 匹配纯文本2.2 匹配任意字符2.3 ...
在学习了正则表达式之后的小小总结,希望对大家有所帮助,祝你成功
前面我们已经学习了正则表达式的基础语法,包括了定界符、原子、元字符和模式修正 符。实际上正则表达式想要起作用的话,就必须借用正则表达式处理函数。本节我们就来介绍一下PHP中基于perl的正则表达式处理函数,...
这篇文章我将带领大家利用 Python 来学习一下正则表达式。在阅读这篇文章前你需要掌握 Python 基础知识,或者具有其他开发语言的基础知识也可以,因为基本上每种语言使用正则表达式的方式都是类似的。 零、正则...
javascript之正则表达式基础知识小结,对于学习正则表达式的朋友是个不错的基础入门资料。
最近在公司接手重构一个项目,发现之前的开发在验证格式这块写的太乱了,到处都有相关的验证代码,所以就有了这篇文章,供自己收藏也分享给有需要的朋友们参考借鉴,下面跟着小编来一起学习学习吧。
php 正则表达式小结//www.jb51.net/article/19831.htm PHP 正则表达式的几则使用技巧//www.jb51.net/article/19832.htm以下内容为php中常用的正则,正则是一门通用性的语法,可以在网上下载更全面的正则,提供学习!...
学习php正则的朋友不得不了解的一些函数,大家看了下面的文章就知道了php下正则表达式的调用方法。
本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例。本文的内容不包括如何编写高效的正则表达式、如何优化正则表达式,这些主题请查看其他教程。
在js中,正则表达式是由一个RegExp对象表示的,RegExp 是正则表达式的缩写。RegExp简单的模式可以是一个单独的字符。更复杂的模式包括了更多的字符,并可用于解析、格式检查、替换等等。可以使用一个RegExp()构造函数...
│ │ 一章小结 │ │ 一章概述 │ │ 字符串基本处理与正则表达式文本匹配与替换 │ │ 字符串处理 │ │ 文本数据、字、词、term │ │ 模式匹配与正则表达式 │ │ │ ├─第二章英文文本处理与解析 │ │ ...
文中有几种不同的方法,包括普通的JS验证法、正则表达式法,另外还有判断是否为浮点数的js函数,在最后还将简要介绍下isNAN函数的使用方法和例子,来一起学习学习吧。 一、正则表达式方法判断是否为数字,包括判断...
5正则表达式回顾 6抓取智联招聘 7抓取51job 8作业 Python爬虫实战学习day2 1response网络详细信息 2agent代{过}{滤}理解决网站屏蔽3agent也可以冒充手机或者ipad浏览器4get模拟百度5get模拟智联招聘6get小结7post...