正则表达式表述式,别称靠谱表明法、基本表明法(英文:Regular Expression,在编码中常会缩写为regex、regexp或RE),测算机科学研究的一个定义。正则表达式表述式应用单独标识符串来叙述、配对一系列产品合乎某一 语法标准的标识符串。在许多文字编写器里,正则表达式表述式一般被用于查找、更换这些合乎某一方式的文字。 正则表达式表述式能够干什么? 1、数据信息合理性认证,能够对一字符串开展检测,看该标识符串是不是合乎某类要求。 2、更换文字,能够在文本文档里将特定的文本删掉,或更换为别的文本。 3、依据标识符串获取一身高标识符串,用于在文字或键入字段名中搜索特殊文本。 正则表达式表述式英语的语法 一个正则表达式表述式是由一般标识符(a-z)和独特标识符(元标识符)构成的文本方式,该方式做为一个模板,将某一标识符方式与所检索的标识符串开展配对。 元标识符 具备独特实际意义的专用型标识符。 基本元标识符 . 配对除换行之外的随意标识符,比如正则表达式表述式 r.t 可以配对 rat、rut、r t ,可是不可以配对root [] 配对配对一个出現在[]中的标识符 | 或 比较敏感词 ab|cd|ed|df () 提升优先选择级 a(bc) 完成排序 限制元标识符 * 反复零次或数次 + 反复一次或数次 ? 反复零次或一次 {n} 反复n次 {n,} 反复n次或数次 {n,m} 反复n到m次 首尾元标识符 ^ 配对标识符串刚开始 比如正则表达式表述式 ^when 可以配对到 when in the 的刚开始,但不可以配对到 what and when in the $ 配对标识符串完毕 比如正则表达式表述式 food$ 可以配对到 he s food 的结尾 缩写方式 英语单词的刚开始或完毕 d 配对0-9的数据 D非数据 s 随意的空白页符 包含tab和换行符 S英文大写 非 空白页以外的全部标识符 w 配对英文字母、数据或下横线 W 非英文字母、数据下横线 转义标识符 假如想搜索元标识符自身得话,例如想搜索.或是*便会出現难题,由于会表述成别的含意。这时候就必须应用来撤销这种标识符的独特实际意义。 因而必须应用. * 搜索自身应当写\ 在javascript中应用正则表达式表述式 建立正则表达式表述式 ?1234//字面上值var reg = /d+/;//结构涵数var regx = new RegExp( a href= file://\d+ \d+a配对 ?if(reg.test( )){ alert( OK } if(regx.test( sd )){ alert( ok )}获取 ?var str= var reg = /([a-zA-Z0-9]+)@([a-zA-Z0-9]+(.[a-zA-Z0-9]+)+)/; var match = reg.exec(str);alert(match[0]); // 配对到的目标alert(match[1]); // [1][2]各自是每个组alert(match[2]); //qq.comalert(match[3]); //.com循环系统获取 ?6var str = 12345 var r = /dd/g; //g global 全局性配对var m = r.exec(str); //12alert(m);m = r.exec(str); //34alert(m);m = r.exec(str); //null 沒有了回到nullalert(m); var arr = [];var m = null;while((m=r.exec(str)) != null) //假如不一于null 再次循环系统{ arr.push(m); //加上到数字能量数组}alert(arr.length); //[0]=12 [1]=34更换 ?string str = string .replace(正则表达式表述式或标识符串,更换为某标识符串); var str = ab--c--d--e--f-g var result = str.replace(/-+/g, , //假如不写g 则只更换第一个alert(result); //ab,c,d,e,f,g var date = 2016年八月24日 var result = date.replace(/(d+)年(d+)月(d+)日/, $1-$2-$3 alert(result);//2015-8-24在c#中应用正则表达式表述式 ?12345var regx = ^[a-zA-Z0-9]{6,20}$ ;if ( ! Regex.IsMatch( abcdef;sd123 ,regex){ //长短务必6-20,英文字母和数据}常见表述式 配对真实身份证:d{15}|d{18} 配对我国邮编:[1-9]d{5}(?!d) 配对腾迅QQ号:[1-9][0-9]{4,} 配对中国电話号码:d{3}-d{8}|d{4}-d{7} 配对账号是不是合理合法(英文字母开始,容许5-16字节数,容许英文字母数据下横线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 配对网站地址URL的正则表达式表述式:[a-zA-z]+://[^s]* 配对Email详细地址的正则表达式表述式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 配对首尾空白页标识符的正则表达式表述式:^s*|s*$ 配对HTML标识的正则表达式表述式: (S*?)[^ ]* .*?| .*? / 配对汉语标识符的正则表达式表述式: [一-龥] 限定网页页面表格里的文字框键入內容 只有键入汉语: ?1 text onkeyup= value=value.replace(/[^一-龥]/g, ) onbeforepaste= clipboardData.setData( text ,clipboardData.getData( text ).replace(/[^一-龥]/g, )) /只有键入数据: ?1 text onkeyup= value=value.replace(/[^d]/g, ) onbeforepaste= clipboardData.setData( text ,clipboardData.getData( text ).replace(/[^d]/g, )) /只有键入数据和英语: ?1 text onkeyup= value=value.replace(/[W]/g, ) onbeforepaste= clipboardData.setData( text ,clipboardData.getData( text).replace(/[^d]/g, )) /之上內容便是文中对正则表达式表述式做的详细说明,期待大伙儿喜爱 (责任编辑:admin) |