无法在这个位置找到: head2.htm
当前位置: 建站首页 > 新闻动态 > 公司新闻 >

正则表达式表述式详细说明

时间:2021-01-29 23:57来源:未知 作者:jianzhan 点击:
正则表达式表述式,别称靠谱表明法、基本表明法(英文:Regular Expression,在编码中常会缩写为regex、regexp或RE),测算机科学研究的一个定义。正则表达式表述式应用单独标识符串来叙

正则表达式表述式,别称靠谱表明法、基本表明法(英文: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)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: ajaxfeedback.htm
栏目列表
推荐内容


扫描二维码分享到微信