试图preg_split大写和数字

时间:2014-06-05 16:08:52

标签: php regex

我正在尝试学习正则表达式并从这些可能的字符串中获取一系列单词/数字:

String: 'getUser100Profile'
Return: array('get', 'user', '100', 'profile')

String: 'put100'
Return: array('put', '100')

String: 'post'
Return: array('post')

这是我的代码片段无效:

$name = 'get100';
$names = preg_split('/(?=[A-Z\d+])/', $name);

Return: array('get', '1', '0', '0');
Should return: array('get', '100');

1 个答案:

答案 0 :(得分:4)

您需要检查先前字符。您可以使用此模式:

$names = preg_split('/(?=[A-Z])|(?<=\D)(?=\d)|(?<=\d)(?=\D)/', $name);