2012-08-09 175 views
1

我可以在PHP或MySQL中使用某種正則表達式/函數來檢查小寫字母&彼此相鄰的大寫字母嗎?檢查字符串中的小寫字母和大寫字母相鄰嗎?

我想檢測「腹腔鏡手術」&「白內障手術」之間的「y」&「C」。

LaparoscopyCataract Surgery 

更多的例子...

TracheostomyThoracotomy 
TracheostomyAmniocentesis 
Total Knee ReplacementBarium 

等等

我要爆炸/單獨所有這些類型的實例的一個逗號。

+0

'/([a-z] [A-Z])|([A-Z] [a-z])/'我想。 – Matt 2012-08-09 17:24:54

回答

1
preg_replace("/([a-z])([A-Z])/", "$1,$2", $yourString); 
+0

不,你說得對。更新。 – 2012-08-09 17:32:35

+0

不錯,作品謝謝! – Graham 2012-08-09 17:33:54

1

$string = preg_replace("/([a-z])([A-Z])/", "\$1, \$2", $string);應該這樣做

編輯:太晚了反正:P

+2

不需要'{1}' - 它只會默認匹配一個字符。 – nickb 2012-08-09 17:28:33

0

我覺得

preg_replace("/[a-z][A-Z])/", "/1, /2", $str); 

按您的要求會工作。

+0

我試過了:$ string ='OneTwo'; \t echo preg_replace(「/ [a-z] [A-Z])/」,「/ 1,/ 2」,$ string);但是,有一個錯誤。我怎麼能把$ string變成「一,二」? – Graham 2012-08-09 17:29:59

+0

錯誤是什麼?我的實現可能不是100%正確的。 – Matt 2012-08-09 17:32:03

+0

@Graham'$ string = preg_replace(「/ [a-z] [A-Z])/」,「/ 1,/ 2」,$ string);'? – 2012-08-09 17:32:13

相關問題