- 浏览: 162671 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
jiangyeqt:
好好的温习了一遍,讲的非常的到位
Session的原理 -
JAVA静静:
这是什么啊?有没有源码?看不懂诶!
开源框架Pushlet入门 -
colinzhy:
讲的很深刻,学习了
Session的原理 -
昔雪似花:
...
Map-iterator -
不相信眼泪:
恩,很好,多谢
.scc文件是做什么用的?
1111-1234 re \d{5}(-\d{4})?
?指前面的子项可有可无
11111 re (\d)\1{4}
1221 re (\d)(\d)\2\1
RegExp对象
创建方式:
1 使用RegExp对象显式构造函数new RegExp("pattern"[,"flags"])
2 使用RegExp对象隐式构造函数/pattern/[flags]
flags参数
g 用作全局标志
i 用作无视大小写
m 用作多行标志
如果没有设置这个标志,那么“^”只与整个字符串的开始位置相配,“$”只与整个字符串的
结束位置相配,如果设置了这个标志,那么“^”还可以与字符串的“\n”和"\r"之后的位置相配
(即下一行的行首),面“$”还可以与字符串的“\n”和"\r"之前的位置相配(即一行的行首)
注意:javascript中的\是转义字符,所以应将原始正则表达式模式文本中的\都用
两个\\替换,如果要表示原意为"\"就要用"\\\\"表示
例:
var re=new RegExp("\\d{5}");显式
vaf re=/\d{5}/;隐式
RegExp对象的属性
共享的静态属性
index只读属性 当前使用的正则表达式的模式在被查找字符串中的第一个相配的字符串的开始位置,从0开始,默认为-1
lastindex只读属性 当前使用的正则表达式的模式在被查找字符串中的第一个相配的字符串的结束位置的下一个位置,从0开始,默认为-1
input属性 当前使用的正则表达式的模式所作用的字符串
lastMatch属性 当前使用的正则表达式的模式在被查找字符串中的最后一个字符串
lastParen属性
leftContext属性 当前使用的正则表达式的模式在被查找字符串中的最后一个字符串左边的位置
rightContext属性 当前使用的正则表达式的模式在被查找字符串中的最后一个字符串右边的位置
单个对名象实例的属性
global属性 返回创建对象实例时全局标志的状态,如果设了为treu,反为false
ignreCase属性 返回创建对象实例时指定的无视大小写状态,如果设了为treu,反为false
multiline属性 返回创建对象实例时指定的多行标志状态,如果设了为treu,反为false
source属性 返回创建对象实例时所指定的正则表达式文本
compile("pattern[,"flags"]")方法 更换创建RegExp对实例时所指定的正则表达式的模式
exec(str)方法 使用创建RegExp对实例时所指定的正则表达式的模式对一个字符串执行查找,并返回一个包含结果的数组,没有返回null
返回的数组有input,index和lastIndex三个属性
test(string)方法 检查一个字符串是否存在创建RegExp对实例时所指定的正则表达式的模式
说明:如果正则表达式设置了全局标志(g),可以多次调用exec和test方法,每次查找从lastIndex属性值指定的位置开始查找
例子:
//例子:
var strSrc="xxa1b01c001yya2b02c002zz";
var re=/a(\d)b(\d{2})c(\d{3})/gi;
var arr,count=0;
while((arr=re.exec(strSrc))!=null)
{
displayResult();
}
function displayResult()
{
document.write("<p>这是用正表达式/"+re.source+"/gi对字符串<br></p>"+
RegExp.input+"进行第"+(++count)+"次查找的结果:<br>");
document.write("RegExp.index为"+RegExp.index+"<br>");
document.write("RegExp.lastIndex为"+RegExp.lastIndex+"<br>");
document.write("RegExp.lastMatch为"+RegExp.lastMatch+"<br>");
document.write("RegExp.lastParen为"+RegExp.lastParen+"<br>");
document.write("RegExp.leftContext为"+RegExp.leftContext+"<br>");
document.write("RegExp.rightContext为"+RegExp.rightContext+"<br>");
document.write("RegExp.$1为"+RegExp.$1+"<br>");
document.write("RegExp.$2为"+RegExp.$2+"<br>");
document.write("RegExp.$3为"+RegExp.$3+"<br>");
document.write("RegExp.$4为"+RegExp.$4+"<br>");
document.write("arr.inedex为"+arr.index+"<br>");
document.write("arr.input为"+arr.input+"<br>");
document.write("arr.lastIndex为"+arr.lastIndex+"<br>");
document.write("返回数组元素的个数为"+arr.length+"<br>");
document.write("返回数组元素的内容为[");
for(var i=0;i<arr.length;i++)
{
if(i<arr.length-1)
{
document.write("\""+arr[i]+"\",");
}else
{
document.write("\""+arr[i]+"\"]</p>");
}
}
}
/////////--------------- String 对象----------------------------
//match(rgExp)方法 使用正则表达式模式对字符串进行查找,并返回一个包含结果的数组
var strSrc="xxa1b01c001yya2b02c002zz";
var re=/a(\d)b(\d{2})c(\d{3})/gi;
var arr;
arr=strSrc.match(re);
for(var i=0;i<arr.length;i++)
{
if(i<arr.length-1)
document.write("[\""+arr[i]+"\",")
else
document.write("\""+arr[i]+"\"]")
}
//search(rgExp)方法 第一个字符串
//replace(rgExp,replaceText)方法
var strSrc="a12b34c56";
var re=/(\d)(\d)/gi;
var strDest=strSrc.replace(re,"$2$1");
alert(strSrc+"="+strDest);
//split(separator[,limit])方法
//正则表达式的语法
//限定符:
//{n}
//{n,}前面的指定字符只少出现n次
//{n,m}前面的指定字符只少出现n次,最多出现m次
//+一次或多次,等效于{1,}
//*零次或多次,等效于{0,}
//?零次或一次
//贪婪匹配
//默认情况下,正则表达式使用最长匹配原则
//非贪婪匹配
//当字符"?"紧跟任何其他限定符(*、+、?、{n}、{n,m}、{n,})之后,匹配变成最短匹配原则 "fo+?"
//选择匹配符"|"
//两边字符最大原则
//分组组合和反同引用符"()"和"\num"
//(?:pattern)
//un \u00A9匹配@
//\f换页 等效于\x0c和\cL
//\n换行 等效于
//\r回车 等效于
//\t制表 等效于
//\v垂直制表符 等效于
//字符匹配符
//[]任何一个
//[^]取反任何一个
//[a-z]取范围内的一个
//[^a-z]不在范围内的字符
//\d \D是\d的取反
//\s空格 等效于[\f\n\r\t\v] \S非空格
//\w单词 等效于[A-Za-z0-9_] \W
//. 换行符以外的任意字符
//定位符
//^开始位置
//$结尾位置
//\b 单词的边界(开始或结尾边界)
//\B 非单词的边界
//原议字符
//即需要\:
//正则表达式从左到右进行计算,并按优先级顺序。
/**//*
空行 re /^\s*$/
HTML标记 re /<(\S+)(\s[^>]*?)>[\s\S]*<\/\1\s*>/
Email re /[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
两个相同的相邻单词 re /\b([a-z]+)\1\b/
ip地址 /^\d{1,2}|1\d\d|2[0-4]\d|25[0-5(\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])){3}$/
*/
//例子
/**//*
*/
</script>
发表评论
-
javascript 中数组使用方法
2009-10-29 13:27 660/* 由于javascript是一种无类型语言,所以一个数 ... -
ajax基础
2009-11-03 10:10 620XMLHTTPRequest---->JavaScrip ... -
ajax基础-jquery
2009-11-03 10:12 679//---------------------------- ... -
正则基础
2009-11-03 10:16 644<html> <script> ... -
可编辑的表格
2009-11-03 10:23 9231脚本jqueryedit.js //在页面装载时,让所有的t ... -
DWR-基本配置文件
2009-11-03 10:33 7121 dwr.xml <?xml version=&quo ... -
DWR-笔记
2009-11-03 10:36 715var xmlrequestXml; function cre ... -
DWR-util.js包工具方法
2009-11-03 10:41 1155util.js包含一些有用的函数function,用于在客户端 ... -
DWR-返回-参数为Map
2009-11-03 10:43 727方法1: fuction test{ tt.hello( ... -
DWR-返回-参数为集合
2009-11-03 10:54 713DWR中处理List调用返回JavaBean的java方法 4 ... -
dwr模拟google suggest
2009-11-03 11:07 8111 web.xml <!------ AutoSugge ... -
cookie.js
2009-11-04 15:42 741js读写cookie可以提高效率,现对代码作仔细说明,以备用: ... -
Event对象的属性
2009-11-29 21:37 695function MyAlert() { var msg=&q ... -
javascript DOM
2009-11-29 21:51 684<!------------------///事件处理 ... -
javascript语法_函数_对象_数组
2009-11-29 21:52 781<script language="javas ... -
事件显示声明
2009-11-29 21:55 751<script type=text/javascript ... -
LavaLamp mean
2009-12-06 23:18 781具有flash效果的菜单,基于jquery Download ... -
ajax 书签
2009-12-30 15:17 796框架: Yahoo UIProtoTypeJQueryOpen ... -
给Dreamweaver安装jQuery插件jQuery_API.mxp
2010-01-20 12:38 5113要让Dreamweaver支持jQuery自动提示代码功能,方 ... -
jQuery-强大的jQuery选择器 (详解)[转]
2010-01-21 11:48 9661. 基础选择器 Basics 名称 ...
相关推荐
javastript正则表达式基础 javastript正则表达式基础 javastript正则表达式基础
vba正则表达式基础知识介绍,由浅入深,实例讲解
Python正则表达式基础是学习如何在Python中应用正则表达式的入门指南。正则表达式,或称为REs、regexes、regexpatterns,是能够嵌入到Python中的一个精细、高度专业化的程序语言。通过re模块,程序员得以使用这一...
以下是对正则表达式基础知识的详细解释: 1. **基础匹配**: - **基础匹配**:最简单的正则表达式就是你要匹配的文本本身,如"cat",可以匹配含有"cat"的字符串。 2. **句点符号(.)**: - **句点符号**:"....
【Groovy正则表达式基础1】 Groovy是一种基于Java平台的动态编程语言,它扩展了Java的功能,包括对正则表达式的处理。在Groovy中,正则表达式是通过`~`运算符或者使用斜杠(`/`)来定义的。这种特性使得Groovy在处理...
千锋Web前端教程_78_正则基础语法
千锋Web前端教程_79_正则基础语法
千锋Web前端教程_80_正则基础语法
千锋Web前端教程_81_正则基础语法
这些只是JavaScript正则表达式的基础知识,实际上正则表达式还可以使用更复杂的构造,如递归、回溯限制等,以实现更精细的文本匹配和处理。掌握正则表达式对于编写高效、灵活的JavaScript代码至关重要。
正则表达式是一种强大的文本匹配工具,广泛应用于编程语言和各种文本处理场景中。正则表达式通过使用一系列特殊字符,即元字符,来定义复杂的搜索模式。这些元字符具有特殊的意义,如表示重复次数、选择、分组等。...
本文件“正则基础之——NFA引擎匹配原理.rar”将深入探讨NFA的工作机制。 首先,我们需要理解NFA的基本概念。NFA是一种有向图,每个节点代表一个状态,边则表示状态间的转换。在NFA中,一个输入字符可以引发多个...
下面我们将深入探讨正则表达式的基础语法和常用正则表达式,同时也会提及提供的HTML手册中的相关内容。 一、基础语法 1. **字符匹配**: - `\d`:匹配任何数字,等价于 `[0-9]` - `\D`:匹配非数字字符,等价于 ...
在这个"正则基础之——小数点"的主题中,我们将深入探讨小数点在正则表达式中的应用。 1. 小数点(`.`)的元字符含义: 在正则表达式中,小数点(`.`)是一个元字符,它代表任意单个字符,除了换行符。这意味着`.`...
本文件“正则基础之——捕获组(capture group)”将深入讲解正则表达式中的一个重要概念——捕获组,这是理解和运用正则表达式不可或缺的一部分。 捕获组是正则表达式中的一种机制,它允许我们将一个模式分隔成多...
在本篇文章中,我们将深入探讨正则表达式的基础知识及其应用。 1. 正则表达式的基本规则 - 普通字符:在正则表达式中,字母、数字、汉字、下划线以及其他未被赋予特殊意义的标点符号被视为普通字符。它们会匹配...
在本文中,我们将深入探讨TV正则化的概念、理论基础以及其在实际问题中的应用,尤其是通过"Zeroth-oder-Tikhonov-regularization-master"这个项目中的代码来理解这一技术。 首先,TV正则化源自数学中的变分理论,它...