preg_match的正则表达式(PREG)问题

时间:2011-08-05 03:59:30

标签: php regex

可能的情况:(请忽略引号字符'')

'#APPLE '
' PINEAPPLE'
' *LEMON '
' ORANGE… '
' * STRAWBERRY '
' PEAR '
' # BANANA'
' %KIWI '

我试过%.[a-zA-Z]{2,}+% 似乎无法解决这个问题,任何专业知识都可以帮助grep成为

'APPLE'
'PINEAPPLE'
'LEMON'
'ORANGE'
'STRAWBERRY'
'PEAR'
'BANANA'
'KIWI'

2 个答案:

答案 0 :(得分:2)

而不是preg_match,而是使用preg_match_all。

$pattern_test = "%[a-zA-Z]{2,}+%";
preg_match_all($pattern_test,$string,$matches);
print "<pre>"; var_dump($matches); print "</pre>";

答案 1 :(得分:1)

使用Perl正则表达式的网站测试工具,例如

http://www.spaweditor.com/scripts/regex/index.php

输入你的表达式:

%[a-zA-Z]{2,}+% 

输入您的数据:

'#APPLE ' ' PINEAPPLE' ' *LEMON ' ' ORANGE… ' ' * STRAWBERRY ' ' PEAR ' ' # BANANA' ' %KIWI '

运行表达式:

Array
(
    [0] => Array
        (
            [0] => APPLE
            [1] => PINEAPPLE
            [2] => LEMON
            [3] => ORANGE
            [4] => STRAWBERRY
            [5] => PEAR
            [6] => BANANA
            [7] => KIWI
        )

)

使用以下功能:

preg_match_all('%[a-zA-Z]{2,}+% ', '{{your data}}', $arr, PREG_PATTERN_ORDER);