2012-08-09 174 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

相关问题