自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

解析AS3中Flex正則表達(dá)式的使用

開(kāi)發(fā) 后端
本文向大家簡(jiǎn)單介紹一下AS3中的Flex正則表達(dá)式,F(xiàn)lex正則表達(dá)式是一種通用的標(biāo)準(zhǔn),大部分計(jì)算機(jī)語(yǔ)言都支持正則表達(dá)式,包括as3。

本文和大家簡(jiǎn)單分享一下AS3中的Flex正則表達(dá)式的用法,F(xiàn)lex正則表達(dá)式是一種通用的標(biāo)準(zhǔn),大部分計(jì)算機(jī)語(yǔ)言都支持正則表達(dá)式,包括as3,這里收集了一些常用的正則表達(dá)式語(yǔ)句,大家用到的時(shí)候就不用自己寫(xiě)了。

AS3中的Flex正則表達(dá)式

一、定義方式,可以有兩種

varpattern1:RegExp=newRegExp("test-\\d","i");
varpattern2:RegExp=/test-\d/i;

1)使用new來(lái)新建一個(gè)RegExp對(duì)象,其中參數(shù)為1)表達(dá)式字符串2)表達(dá)式的參數(shù),這種方式如果要用\,一定要用\\來(lái)轉(zhuǎn)義。
2)直接采用/形式,以把表達(dá)式的內(nèi)容寫(xiě)到/……./里面,在后面跟上表達(dá)式的參數(shù),參數(shù)字符可以同時(shí)添加多個(gè),例如:/………/gi

二、Flex正則表達(dá)式參數(shù)介紹

1)Dotall屬性,用s字符表示參數(shù),指定字符(.)在表達(dá)式里是不是匹配新行,如果使用了s參數(shù),那就表示dotall表示真
例: 

  1. varstr:String="<p>Hello\n" 
  2. +"again</p>"  
  3. +"<p>Hello</p>";  
  4. varpattern:RegExp=/<p>.*?<\/p>/;  
  5. trace(pattern.dotall)//false  
  6. trace(pattern.exec(str));//<p>Hello</p> 
  7. pattern=/<p>.*?<\/p>/s;  
  8. trace(pattern.dotall)//true  
  9. trace(pattern.exec(str)); 

2)Extended屬性,用x參數(shù)表示,指是否在表達(dá)式定義的時(shí)候是否忽略空格
例:

  1. varrePhonePattern1:RegExp=/\d{3}-\d{3}-\d{4}|\(\d{3}\)\s?\d{3}-\d{4}/;  
  2. varstr:String="Thephonenumberis(415)555-1212.";  
  3.  
  4. trace(rePhonePattern1.extended)//false  
  5. trace(rePhonePattern1.exec(str));//(415)555-1212  
  6.  
  7. varrePhonePattern2:RegExp=/\d{3}-\d{3}-\d{4}|\(\d{3}\)\?\d{3}-\d{4}/x;  
  8. trace(rePhonePattern2.extended)//true  
  9. trace(rePhonePattern2.exec(str));//  

(415)555-12123)global屬性,用g參數(shù)表示,指是否用表達(dá)式在匹配以后在下次匹配的時(shí)候是從頭再來(lái)還是從上次匹配過(guò)的地方開(kāi)始,其lastIndex屬性會(huì)保存起來(lái)。
例: 

  1. varpattern:RegExp=/foo\d/;  
  2. varstr:String="foo1foo2";  
  3. trace(pattern.global);//false  
  4. trace(pattern.exec(str));//foo1  
  5. trace(pattern.lastIndex);//0  
  6. trace(pattern.exec(str));//foo1  
  7.  
  8. pattern=/foo\d/g;  
  9. trace(pattern.global);//true  
  10. trace(pattern.exec(str));//foo1  
  11. trace(pattern.lastIndex);//4  
  12. trace(pattern.exec(str));//foo2  

 4)ignoreCase屬性,用i參數(shù)表示,指表達(dá)式匹配的時(shí)候是否區(qū)別大小寫(xiě)。

例: 

  1. varpattern:RegExp=/bob/;  
  2. varstr:String="Bobbob";  
  3. trace(pattern.ignoreCase);//false  
  4. trace(pattern.exec(str));//bob  
  5.  
  6. pattern=/bob/i;  
  7. trace(pattern.ignoreCase);//true  
  8. trace(pattern.exec(str));//Bob  

 5)lastIndex屬性,指定下次查詢(xún)的起始位置,這個(gè)屬性影響兩個(gè)方法exec()和test(),match(),replace(),search()方法是忽略這個(gè)屬性的,他們總是從頭開(kāi)始的。

這個(gè)屬性要和global結(jié)合使用,當(dāng)global為true時(shí),執(zhí)行exec()和test()后,lastIndex屬性會(huì)被設(shè)置為下一個(gè)字符,如果是false,則會(huì)從頭開(kāi)始。
例:

6)multiline屬性,用m參數(shù)表示,指表達(dá)式匹配的時(shí)候用字符(^)和($)分別表示在之前或之后有新的一行。

例: 

  1. varpattern:RegExp=/^bob/;  
  2. varstr:String="foo\n" 
  3. +"bob";  
  4. trace(pattern.multiline);//false  
  5. trace(pattern.exec(str));//null  
  6.  
  7. pattern=/^bob/m;  
  8. trace(pattern.multiline);//true  
  9. trace(pattern.exec(str));//bob  

 7)source屬性,返回表達(dá)式的定義字符串。
例:
 

  1. varre1:RegExp=/aabb/gi;  
  2. trace(re1.source);//aabb  
  3.  
  4. varre2:RegExp=newRegExp("x+y*","i");  
  5. trace(re2.source);//x+y*  

 

三、Flex正則表達(dá)式方法介紹

1)Exec()方法:

i.輸入:傳入一個(gè)String類(lèi)型的參數(shù),表示要查詢(xún)的字符串。
ii.返回:如果沒(méi)有匹配到就返回null,否則返回一個(gè)Object對(duì)象。
這個(gè)Object對(duì)象的屬性:
a)一個(gè)Array(數(shù)組),元素0包含一個(gè)匹配得到的子串,1到n包含,其中定義的組所匹配的字符子串
b)Index匹配子串在字符串里的位置
c)Input輸入的原始字符串。
例:
 

  1. varmyPattern:RegExp=/(\w*)sh(\w*)/ig;  
  2. varstr:String="Shesellsseashellsbytheseashore";  
  3. varresult:Object=myPattern.exec(str);  
  4. trace(result); 

輸出:
result[0]是”she”
result[1]是一個(gè)空串(***個(gè)\w是匹配到空的子串)
result[2]是”e”
result.index是0
result.input是”Shesellsseashellsbytheseashore”
設(shè)置了g(global)屬性的例子:
 

  1. varmyPattern:RegExp=/(\w*)sh(\w*)/ig;  
  2. varstr:String="Shesellsseashellsbytheseashore";  
  3. varresult:Object=myPattern.exec(str);  
  4. while(result!=null){  
  5. trace(result.index,"\t",result);  
  6. result=myPattern.exec(str);  
  7. }  

輸出:
0She,,e
10seashells,sea,ells
27seashore,sea,ore

2)Test()方法:

i.輸入:傳入一個(gè)String類(lèi)型的參數(shù),表示要查詢(xún)的字符串。
ii.返回:如果匹配返回true,否則返回false.
例:
 

  1. varmyPattern:RegExp=/(\w*)sh(\w*)/ig;  
  2. varstr:String="Shesellsseashellsbytheseashore";  
  3. varresult:Object=myPattern.exec(str);  
  4. trace(result); 

【編輯推薦】

  1. FlexBuilder快捷鍵使用說(shuō)明
  2. Flex2.0Beta1新功能出爐
  3. 揭露Flex2.0的幾大誤區(qū)
  4. FlexBuilder3.0與Eclipse3.4的***結(jié)合
  5. 剖析Flex DataGrid分頁(yè)控件的兩種分頁(yè)形式用法
責(zé)任編輯:佚名 來(lái)源: sina.com.cn
相關(guān)推薦

2010-07-28 11:06:41

Flex正則表達(dá)式

2010-08-09 13:58:59

Flex正則表達(dá)式

2010-08-09 14:30:39

Flex正則表達(dá)式

2010-08-09 14:43:25

Flex正則表達(dá)式

2010-08-09 14:14:13

Flex正則表達(dá)式

2010-08-09 14:07:04

Flex正則表達(dá)式

2010-08-09 13:51:27

Flex正則表達(dá)式

2010-07-14 10:06:55

Perl正則表達(dá)式

2010-07-28 11:01:07

Flex正則表達(dá)式

2010-08-12 10:35:06

Flex正則表達(dá)式

2010-07-14 09:37:46

Perl正則表達(dá)式

2011-06-16 15:28:31

正則表達(dá)式

2010-07-13 17:03:53

Perl正則表達(dá)式

2018-09-27 15:25:08

正則表達(dá)式前端

2010-08-13 15:31:11

Flex正則表達(dá)式

2010-08-13 15:39:58

Flex正則表達(dá)式

2010-03-25 18:25:36

Python正則表達(dá)式

2009-09-16 10:59:24

PHP正則表達(dá)式元字符

2009-09-16 17:29:30

正則表達(dá)式使用詳解

2020-09-04 09:16:04

Python正則表達(dá)式虛擬機(jī)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)