我有以下字符串,我试图根据特定的发生情况将其拆分为不同的变量
Brodel8DARK HORSE COMICS
我希望我的最终结果是
$user = Brodel
$index = 8
$publisher = DARK HORSE COMICS
我试过玩一些 reg 表达式,但我是新手
此条件将始终为真
用户名会改变(不同数量的字符等。)索引将始终是整数,但可以增长到 3+ 数字发布者将始终全部大写
谢谢你的帮助
我有以下字符串,我试图根据特定的发生情况将其拆分为不同的变量
Brodel8DARK HORSE COMICS
我希望我的最终结果是
$user = Brodel
$index = 8
$publisher = DARK HORSE COMICS
我试过玩一些 reg 表达式,但我是新手
此条件将始终为真
用户名会改变(不同数量的字符等。)索引将始终是整数,但可以增长到 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
$string = 'Brodel8DARK HORSE COMICS';
preg_match("/^([^\d]+)(\d+)([A-Z\s]+)$/", $string, $match);
//print_r($match);
echo $publisher = $match[3];//DARK HORSE COMICS
?>