2011-04-08 122 views
0

我想赶上并替换一个变量的正则表达式,但我遇到了一些麻烦。 我试图赶上正则表达式就是这样一个模式:正则表达式在php - preg_replace问题

一个或多个字母(一个或多个数字(可能有)一个或多个数字。)一个或多个字母

我”什么m试图做的是用整个字符串替换整个字符串。这里有一个例子:

6A上°C => 6 1015.12百帕=> 1015.12 距离172.1公里=> 172.1

这里是我的正则表达式到目前为止(不要怪我,我不真正进正则表达式哈哈):

$test = preg_replace('#([a-zA-Z]*([0-9]*(\.)*[0-9]*)[a-zA-Z]*)#i', '$2', $myString); 

在此先感谢您的帮助!

+0

所以你只想保留它们所属的数字和字母? – 2011-04-08 09:30:50

+0

你究竟想要什么结果? – Capsule 2011-04-08 09:30:58

回答

1

$result = preg_replace("/[^0-9,.]/","", $string);

+0

谢谢!我不认为这样想(删除所有没有影响力的东西)! – alexbts 2011-04-08 09:39:59

+0

然后关闭你的问题请 – Emmerman 2011-04-08 09:46:22

+0

@alexbts,如果这个答案满足你的需求,你应该接受它通过激活这个答案左边的复选标记。 – stema 2011-04-08 09:46:43

0

好吧,

我似乎找到了答案。我的模式是不正确的,这里是一个很好的一个:

'#[\ d] ([0-9]()[0-9])[\ d] *#我'