php – 按组拆分字符串[ALPHA] [DIGIT] [ALPHA]
发布时间:2020-12-13 17:08:43 所属栏目:PHP教程 来源:网络整理
导读:我试图剥离按类型分组的字符串(仅ALPHA或DIGIT),没有任何其他字符. 我正在使用PHP,并希望使用REGEX. 我需要将像“ES-3810 / 24MX”这样的输入字符串转换为类似[ES] [3810] [24] [MX]的数组, 和类似“CISCO1538M”的输入字符串到[CISCO] [1538] [M]这样的数组
我试图剥离按类型分组的字符串(仅ALPHA或DIGIT),没有任何其他字符.
我正在使用PHP,并希望使用REGEX. 我需要将像“ES-3810 / 24MX”这样的输入字符串转换为类似[ES] [3810] [24] [MX]的数组, 输入文件序列可以是无差别的DIGITS或ALPHA. 分隔符可以是非ALPHA和非DIGIT字符,以及DIGIT序列与APLHA序列之间的变化,反之亦然. 抱歉,我的英语很差……希望我的解释看起来很清楚. 谢谢你的大力帮助. 最好的祝福. 解决方法
匹配正则表达式的所有出现的命令是preg_match_all(),它输出多维结果数组.正则表达式非常简单…任何数字([0-9])一次或多次()或(|)任何字母([A-z])一次或多次().注意大写字母A和小写字母z包括所有大写和小写字母.
为方便起见,textarea和php标签包含在内,因此您可以放入php文件并查看结果. <textarea style="width:400px; height:400px;"> <?php foreach( array( "ES-3810/24MX","CISCO1538M","123ABC-ThatsHowEasy" ) as $string ){ // get all matches into an array preg_match_all("/[0-9]+|[[:upper:][:lower:]]+/",$string,$matches); // it is the 0th match that you are interested in... print_r( $matches[0] ); } ?> </textarea> textarea中的哪些输出: Array ( [0] => ES [1] => 3810 [2] => 24 [3] => MX ) Array ( [0] => CISCO [1] => 1538 [2] => M ) Array ( [0] => 123 [1] => ABC [2] => ThatsHowEasy ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |