一直以来都想学习下,正则表达式,因为其在模式匹配和替换中真是太实用了,最近为了搞一个替换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;
}
分享到:
相关推荐
### 正则表达式基础学习小结 正则表达式是一种强大的文本匹配工具,用于在字符串中查找或替换模式。本文将对正则表达式的几个关键概念进行详细解析,包括元字符、字符类、量词以及边界匹配等,旨在帮助初学者理解并...
- 可参考Oracle官方文档或书籍如《精通正则表达式》来深入学习Java正则表达式。 总之,Java正则表达式是处理字符串的强大工具,掌握好正则表达式,能让你在处理文本数据时更加游刃有余。通过不断的实践和学习,你...
这部分可能包含实践练习,以巩固学习到的字符串和正则表达式知识,小结则总结本章的关键概念和技术,帮助学习者巩固理解并准备应对实际问题。 总的来说,掌握Python中的字符串处理和正则表达式是任何Python开发者...
修饰符如 `i`(忽略大小写)、`g`(全局匹配)和 `m`(多行匹配)可以改变正则表达式的匹配行为。 字符集合用于指定一组允许的字符,如 `[abc]` 匹配任意一个 'a'、'b' 或 'c'。`[^abc]` 则匹配除 'a'、'b' 和 '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 ...
目录 · · · · · ·第1章 正则表达式入门1.1 正则表达式的用途1.2 如何使用正则表达式1.3 什么是正则表达式1.4 使用正则表达式1.5 在继续学习之前1.6 小结第2章 匹配单个字符2.1 匹配纯文本2.2 匹配任意字符2.3 ...
在学习了正则表达式之后的小小总结,希望对大家有所帮助,祝你成功
通过上述内容可以看出,《正则表达式口袋参考书》涵盖了多种主流编程语言下的正则表达式实现细节,对于想要深入学习这一领域的开发者来说,是一本非常有价值的参考书籍。无论是在日常开发工作中还是在解决特定问题时...
通过本教程的学习,您已经掌握了如何在Word中使用正则表达式进行高效准确的文本查找和替换。正则表达式是一种强大的工具,能够极大地提高处理大量文本时的工作效率。随着实践的深入,您将能够创建更加复杂且精准的...
### 正则表达式的入门学习 #### 元字符与基本概念 正则表达式是一种用于文本模式匹配的强大工具,广泛应用于编程、数据处理和搜索替换等场景。掌握基本的正则表达式对于初学者来说至关重要。 **元字符**是正则...
通过对正则表达式的基本符号、字符类和模式匹配操作的学习,用户可以轻松应对各种实际应用场景中的需求。无论是简单的字符串匹配还是复杂的模式分析,掌握MySQL中的正则表达式都将极大地提升数据库查询的能力。
前面我们已经学习了正则表达式的基础语法,包括了定界符、原子、元字符和模式修正 符。实际上正则表达式想要起作用的话,就必须借用正则表达式处理函数。本节我们就来介绍一下PHP中基于perl的正则表达式处理函数,...
**8.3 小结** 这一章的总结可能会强调理解和掌握String和StringBuilder类的用法以及正则表达式的强大功能对提高C#编程能力的重要性。在实际开发中,合理使用这些工具可以显著提高代码的效率和灵活性,特别是在处理...
这篇文章我将带领大家利用 Python 来学习一下正则表达式。在阅读这篇文章前你需要掌握 Python 基础知识,或者具有其他开发语言的基础知识也可以,因为基本上每种语言使用正则表达式的方式都是类似的。 零、正则...