>  기사  >  웹 프론트엔드  >  정규식의 특수 기호 및 정규식의 여러 방법(대체, 테스트, 검색) 요약_javascript 기술

정규식의 특수 기호 및 정규식의 여러 방법(대체, 테스트, 검색) 요약_javascript 기술

WBOY
WBOY원래의
2016-05-16 17:12:401382검색

一 正则表达式的正文。
正则表达式中使用了特殊符号。下面我就将各种符号以及其意义和用法简单的介绍一下(说明:"X以上包括X"):

/ 表示在其后的文字是特殊符号。例:"n"和"n"是一致的。"/n"和换行符是一致的。
^ 和输入的开始一致。
$ 和输入的结尾一致。
* 与此符号之前的文字0次以上相同的话,两者一致。例:"zo*"和"zoo","z"都一致。
+ 与此符号之前的文字1次以上相同的话,两者一致。例:"zo*"和"zoo"一致,但和"z"不一致。
? 与此符号之前的文字0次或1次相同的话,两者一致。例:"a?ve?"和"never"的"ve"一致。
. 与除了换行符的所有单一文字一致。
(正则表达式) 以所指定的表达式寻找一致文字。如果找到了,储存下来。一致的部分可以从
Match方法获得的阵列中找到。
x|y x和y的任意一方相同都会被认为一致。例:"(z|f)ood"和"zood","food"都一致。
{n} n是0以上的整数。与其前的文字n次相同的话,两者一致。例:"o{2}"和"Bob"中的"o"不一
致,与"foooood"中的前两个"o"一致。
{n,} n是0以上的整数。与其之前的文字至少n次相同才一致。
{n,m} 两者整数。n至m范围的次数一致。
[xyz] 与中括号中的文字任意一个相同都被认为一致。
[^xyz] 与上面的相反。
[a-z] 文字的范围,从"a"到"z"的文字都被认为一致。
[^a-z] 与上面的相反。
/b 表示单词的末尾。例:"er/b"和"never"的"er"一致,但和"verb"的"er"不一致。
/B 表示非单词的末尾。
/d 表示数字。
/D 表示非数字。
/s 表示空格。
/S 表示非空格。
/w 表示所有字母数字。
/W 表示非所有字母数字。

   i   (忽略大小写)  
  g   (全文查找出现的所有   pattern)  
  gi   (全文查找、忽略大小写)
/num num应该被赋予一个正数。与已经储存的部分比较。例:"(.)/1"和任意的两个连续的相同
文字一致。

二 如何定义一句正文:
方法一:直接写
var s=/正则表达式/i或g或ig

方法二:建立对象实例:
var s=new RegExp(正则表达式,i或g或ig)


三 与正则表达式有关的方法:

1 exec方法
描述: 在制定的文字行内进行搜索。
结构: 正则表达式.exec(字符串)。
解说: 检索的返回:
null 没有检索到;
一致的结果 检索到后;
例:
代码片段如下:
<script> <br>var s='AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp' <br>var r=new RegExp('g','i'); <br>var a=r.exec(s); <br>alert(a); <br></script>

2 compile方法:
描述: 修改正则表现的内部形式。
结构: 正则表达.compile('正文','g或i或ig')。
解说: 没什么好说的。
例:
代码片段如下:
<script> <br>var s='AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp' <br>var r=new RegExp('[A-Z]','g'); <br>var a=s.match(r); <br>alert(a); <br>r.compile('[a-z]','g'); <br>var a=s.match(r); <br>alert(a); <br></script>


3 test方法:
描述: 顾名思义,做测验。
结构: 正则表达.test(字符串)。
解说: 返回:
false 没找到;
true 找到了;
例:
代码片段如下:
<script> <br>var re=/re/g; <br>var msg='return'; <br>var msg1='goon'; <br>alert(re.test(msg)); <br>alert(re.test(msg1)); <br></script>


4 replace方法:
描述: 寻找一致的并置换他。
结构: 字符串.replace(正则表达,替换字符串)。
解说: 与字符串不变化,返回其副本。
例:
代码片段如下:
<script> <br>var s='AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp' <br>var r=new RegExp('[A-Z]','g'); <br>var a=s.replace(/[a-z]/g,'A'); <br>alert(a); <br></script>


5 match方法:
描述: 实行检索。
结构: 字符串.match(正则表达)。
解说: 返回数列。
例:
代码片段如下:
<script> <br>var re=/re/g; <br>var msg='rererere'; <br>var msg1='goon'; <br>alert(msg.match(re)); <br>alert(msg1.match(re)); <br></script>


6 split方法:
描述: 分割字符串。
结构: 字符串.split(正则表达)。
解说: 返回数列。
例:
代码片段如下:
<script> <br>var s="hello this good world"; <br>var p=//s/g; <br>var a=s.split(p); <br>alert(a); <br></script>


7 검색 방법:
설명: 일치하는 문자열의 위치를 ​​반환합니다. (이것은 indexOf보다 훨씬 더 다양합니다!)
구조: String.search(정규 표현식).
설명: 발견되면
양의 정수를 반환합니다.
발견되지 않으면 -1
예:
코드 조각은 다음과 같습니다.
<script> 안녕 이 좋은 세상"; <br>var p=/good/g; <br>var a=s.search(p); <br>alert(a); <br></script>

교체 방법의 예를 변경합니다.
코드 조각은 다음과 같습니다.
<script> <br>var s="hellOSCF" <br>var r=new RegExp( "[ A-Z]","g"); <br>s=s.replace(r,"a") <br>경고 <br></script>

마지막으로 그의 다양한 속성이 있습니다


1 lastIndex 속성:

설명: 검색 시작 위치를 설정하고 해당 값을 얻을 수 있습니다.

구조: 정규식.lastIndex(=value)
설명:
lastIndex일 때 검색 텍스트 길이보다 크면 test 또는 exec 메서드를 사용하여 실행하면 실행이 실패하고
lastIndex 속성이 0으로 설정됩니다.
lastIndex가 검색된 텍스트 길이와 같을 때 표현식 본문이 비어 있으면 동일합니다. 기타 이 경우
는 실행에 실패하고 0으로 재설정됩니다.
위 이외의 경우에는 lastIndex가 마지막 일관성 텍스트의 위치 포인터로 설정됩니다. 문자열

2 소스 속성

설명: 정규식의 텍스트를 반환합니다.

구조: 정규식.source
예:
코드 조각은 다음과 같습니다.
<script> 🎜>var s= /[a-z]{3}/W/s/g; <br>var s1=new RegExp("[a-z]{3}/W","g") <br>경고 .source); <br>경고 <br></script>
아래에 몇 가지 문자 처리 기능을 작성하겠습니다.

1 숫자는 엄격히 금지됩니다

코드 조각은 다음과 같습니다:

function check(msg){

var exe=//d/g

if(exe.test(msg) )return(0) ;
else return(1)
}

2자만 가능
코드는 다음과 같습니다:
function check(msg){

var exe=//W/g

if(exe.test(msg)) return(0 );
else return(1)


3엄격 금지 코드
코드 조각은 다음과 같습니다.
function check(msg){

var exe=/<(/w|/W)*>/g ;

if(exe.test(msg))return(0)
else return(1);

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.