2011-03-21 144 views
1

我一些動作腳本文件工作,我發現這一點:這個正則表達式模式是什麼意思?

var pattern:RegExp = /.*\// 
var results:Array = pattern.exec(cardImageService.url); 

我知道這是一個正則表達式和exec()正在尋找我在我的字符串模式。但我應該如何理解這種模式?

謝謝!

+1

的「正則表達式測試儀」說:輸入的字符串不是一個正則表達式! – 2011-03-21 19:46:58

+0

@Robalot - 這可能取決於你的正則表達式引擎,特別是是否分隔符和轉義字符被正確理解。 – 2011-03-21 19:50:45

回答

1

它匹配任何數量的字符(零個或多個),具有/字符結尾。通常,這將從字符串的開頭直到(並且包括)最後一個斜槓,從字符串中抓取所有內容。

0

/是正則表達式定界符

.*選擇0個或多個字符(儘可能多的),不含換行符

\/是轉義字符,接着/以便它將匹配/炭而不結束正則表達式

/是另一個正則表達式的分隔符

這個正則表達式將搜索的是任意數量的字符後跟一個/ char。

0

.*表示查找任何東西,任意次數(0到無限)和\/表示找到斜槓,\是轉義字符。從本質上來說,正則表達式幾乎可以匹配任何具有「/」的行。

2

模式

.*\/ 

意味着

.*  # any character (except \n), zero or more times 
\/  # the forward slash "/" 

當爲文字正則表達式編寫的斜槓一定是因爲轉義(像你的情況),斜槓已在使用劃定正則表達式。

在其他情況下,當正則表達式是作爲一個字符串,它看起來像".*/"並意味着同樣的事情。

實際上,這相匹配(幷包括)最後一個正斜槓的路徑。

 
/some/very/long/path/with.a.file 
-------match--------- 
3
/ - Regex delimiter 

. - Meta-character to match any character except newline. 
* - Quantifier for zero or more 
\/ - A literal /. Since/is used as a delimiter, to match a literal/we 
     need to escape it. 

/ - Regex delimiter 
相關問題