2014-12-05 102 views
1

我有這樣正則表達式查找或返回第二個

`state`.`stateID` 

文字,我想寫一個正則表達式來選擇第二部分,STATEID,我不是在正則表達式好,誰能幫助我請解決這個問題? 這只是一個例子,我真正想要的每一個給定的字符串

+1

只需'stateID'將選擇「stateID」的第一個實例。你是這個意思嗎?你可能需要擴展你的問題。 – philtune 2014-12-05 23:17:39

+0

剛剛:stateID?在使用RegEx時,在EditPad中工作正常.. – Leptonator 2014-12-05 23:17:49

+0

我想要字符串的第二部分,它只是一個示例。 @philtune – 2014-12-05 23:20:40

回答

1

舉個例子,如果你有第二部分:

`Alabama`.`AL` 
`Alaska .`AK` 
`Arizona`.`AZ` 
`Arkansas`.`AR` 
`California`.`CA` 

使用此正則表達式來捕捉第二個文本:

/.+`(\w+)/g 
1

以下是單程:

$re = "/`([^`]+)`/"; 
$str = "`state`.`stateID`"; 

preg_match_all($re, $str, $matches); 

print $matches[0][1]; 

輸出:

`stateID` 

說明:

[^] +` - 匹配一個或多個非引號字符。

() - 組匹配字符串

+0

是否有任何方法可以僅返回stateID而不是'stateID' – 2014-12-05 23:48:52

0
$re = "/`([^`]+)`/"; 
$str = "`state`.`stateID`"; 

preg_match_all($re, $str, $matches); 

print $matches[0][1]; 

輸出:

`stateID` 

有什麼辦法只返回STATEID不`當然stateID`

中 - 只需使用$matches[1][1],而不是$matches[0][1]