我有以下字符串,我试图根据具体情况将其拆分为不同的变量
Brodel8DARK HORSE COMICS
我希望我的最终结果是
$user = Brodel
$index = 8
$publisher = DARK HORSE COMICS
我尝试过使用一些正则表达式,但我是新手
这个条件永远成立
用户名将更改(不同的字符数等..) 索引始终是整数,但可以增长到 3 位以上 发布者将始终全部大写
感谢您的帮助
最佳答案
只要发布者不以数字开头,那么此正则表达式就应该有效
/^([A-Za-z]+)(\d+)([A-Z\s]+)$/
它是 0+ 个字符,后跟 0+ 个数字,最后是 0+ 个大写字母。
<?php
$string = 'Brodel8DARK HORSE COMICS';
if(preg_match('/^([A-Za-z]+)(\d+)([A-Z\s]+)$/', $string, $matches) === 1){
var_dump($matches);
}
输出:
array(4) {
[0]=>
string(24) "Brodel8DARK HORSE COMICS"
[1]=>
string(6) "Brodel"
[2]=>
string(1) "8"
[3]=>
string(17) "DARK HORSE COMICS"
}
关于PHP 在特定事件发生后分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18854669/