2010-07-05 78 views
-1

這個正則表達式意思?

preg_match("/^obj(\d+)\-{0,1}(|mi\d{0,1}|critical|questionText|answerText\-{0,1}\d+)$/", $k, $a) 

所述的preg_match是一個PHP函數,應轉化它

回答

3

這種表達,評論看起來像

^     // start of line 
obj    // literal obj 
(\d+)    // one or more digits (0-9), captured in a group 
-{0,1}   // optional dash 
(     // start second capturing group 
        // nothing 
    |    // ... OR ... 
    mi\d{0,1}  // literal mi, followed by an optional digit 
    |    // ... OR ... 
    critical  // literal critical 
    |    // ... OR ... 
    questionText // literal questionText 
    |    // ... OR ... 
    answerText  // literal answerText 
     -{0,1}  // optional dash 
     \d+   // one or more digits (0-9) 
)     // end of capturing group 
$     // end of line 

的是什麼一個例子比賽將是

obj1000-criticalobj1000answerText-100

1

^obj(\d+)-{0,1}意味着該字符串是一個行的開始,並用obj開始,接着是數至少1位的,則有可能是-標誌。

(|mi\d{0,1}|critical|questionText|answerText-{0,1}\d+)意味着該文本是下列之一:

  • 沒有
  • mi這可能是後面跟着一個數字
  • critical
  • questionText
  • answerText可隨後一個-符號,之後至少有一位數字

然後就是行結束了。搜索區分大小寫。

0

IT將匹配以OBJ開頭的字符串,然後是NUMER,可選的破折號,隨後要麼

  • 沒有
  • MI由多個
  • 關鍵followd
  • questionTest
  • answerText後面跟着一個可選項 - 依次後跟一個數字(不是可選的) ,然後是字符串的結尾。

實例:

  • obj932-MI21
  • obj3124critical
  • OBJ1-answerText-86
  • obj654answerText8
  • obj23-
0

它一定的格式相匹配包含的行,f或例如:

obj1-mi5 
obj2critical 
obj3-questionText 
obj4answerText-0 

這些模式是否看起來很熟悉?

preg_match將在$k中找到該模式並在$a中存儲匹配項。執行以下操作以查看它找到的內容。

print_r($a); 
1

我首先建議找到一個正則表達式教程,並閱讀它們的結構。這不是一個特別複雜的正則表達式,所以你應該可以通過一些書本來解決它,這意味着你不必再問你遇到的下一個正則表達式。 ;-)

什麼手段正則表達式細分如下:

^ - 字符串開始處匹配。

OBJ - 這是文字文本,以便將在串

(\ d +)的開頭相匹配那些字符 - 這將匹配一個或多個數字(0-9)和托架將意味着它們被捕獲的方式可以在解析後使用。

- {0,1} - 這將匹配0或1「 - 」字符。

(| mi \ d {0,1} | critical | questionText | answerText- {0,1} \ d +) - 括號將再次將其捕獲爲一個組。 「|」用作「或」,因此它將匹配任何分隔值。雖然我不確定我認爲它是以「|」開頭的事實可能意味着它會匹配一個空字符串。

mi \ d {0,1} - 匹配miteral字符串mi,後跟0或1個數字。

關鍵,questionText - 這是完全相符的文字,無論文字選項

answerText- {0,1} \ d + - 這將匹配的文本字符串answerText跟着一個可選的 「 - 」和一個或多個數字。

$ - 該字符串必須在上一次匹配後立即結束。

我希望對你有意義。正如我所說,如果您需要更多幫助,請查看一些教程和文檔。 :)

相關問題