preg_match正则表达式(PREG)问题


Problem on Regular Expression (PREG) for preg_match

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

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

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

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

使用preg_match_all代替preg_match

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

使用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);