2012-07-21 26 views

回答

6

要找到匹配:

preg_match('/[A-Z]+/', $input, $matches); 

要雷莫已經全部「錯誤」東西:

$output = preg_replace('/[^A-Z ]/', '', $input); 
+0

'警告:preg_replace()[function.preg-replace]:未知修飾符'g'' – 2012-07-21 11:10:34

+0

@ 4lvin - 沒有'g'修飾符! – 2012-07-21 11:12:59

+0

因爲你之前使用過它。然後編輯;) – 2012-07-21 11:14:12

4

使用正則表達式[A-Z]+

+0

看起來他也想要空白。你可能想添加一個php示例 – 2012-07-21 11:05:44

+0

它的正確性,但是你正在使用反例:D它應該是'[az] +'應該是'preg_replace('/ [az] + /','','abcDEF GHi jklm ')'無論如何它的完美! – 2012-07-21 11:11:34

+0

@ 4lvin - 4lvin:你錯了,或者你的問題是錯誤的。你想如何處理諸如'@#$%^&*()1234567890〜;'。,<> /?{} \ |] [-_ = +'..? – 2012-07-21 11:14:59

1

的大寫字母字符串可以用[A-Z]+

但是相匹配,如果你特別希望那些只有大寫的話,那麼你需要添加一個字邊界標記到表達式的每一端。這是\b

所以你的表情應該是這樣的:

/\b[A-Z]+\b/ 

希望有所幫助。

+0

'\ b'不是OP想要的基於他在問題中顯示的示例的示例... – 2012-07-21 11:11:42

+0

@Ωmega - 嗯,夠公平的;我更仔細地閱讀標題,而不是問題;) – Spudley 2012-07-21 11:19:41

+0

有時也會發生在我身上:)(S)他也想保留空格,我相信...您仍然可以通過關於'\ b'的一些課程來編輯您的問題作爲OP可能有興趣瞭解你的觀點...... – 2012-07-21 11:21:58

相關問題