我有一個字符串數組。PHP正則表達式解析
(102) Name3
如何匹配以(####)開頭的字符串並輕鬆獲取該行的名稱部分。 我正在嘗試以下不工作。
if(preg_match("/(d+)/", $myArray[$i], $matches))
我有一個字符串數組。PHP正則表達式解析
(102) Name3
如何匹配以(####)開頭的字符串並輕鬆獲取該行的名稱部分。 我正在嘗試以下不工作。
if(preg_match("/(d+)/", $myArray[$i], $matches))
你需要逃脫在期望的輸入字符串的括號:
if(preg_match("/\((\d+)\) (.+)$/", $myArray[$i], $matches))
這就是下面的正則表達式:
/
開始正則表達式(這可以是任何字符,但通常是/)\(
該字符((
開始捕獲組1\d
任何數字+
以前匹配,1次或多次)
端捕獲組1
的空間(
開始捕獲組2.
幾乎任何字符+
以前的匹配,1次或多次)
端捕獲組2$
串的端/
正則表達式的結束(必須第一個字符匹配)可找到關於regular-expressions.info更具描述性定義。
通過上述,匹配將包含例如:
array(
'(123) input string',
123, // capturing group 1
'input string' // capturing group 2
)
可以讓我知道什麼是(。+)? – blitzkriegz
哇。萬分感謝! – blitzkriegz
你能告訴我你的完整代碼和所需的輸出? –