加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 如何将字符串分组4?

发布时间:2020-12-14 05:46:26 所属栏目:百科 来源:网络整理
导读:我有字符串1234567890,我想将其格式化为1234 5678 90 我写这个正则表达式: $str =~ s/(.{4})/$1 /g; 但对于这种情况12345678这不起作用.我最后得到了多余的空格: 1234 5678 我试着用lookahead重写正则表达式: s/((?:.{4})?=.)/$1 /g; 如何重写正则表达式
我有字符串1234567890,我想将其格式化为1234 5678 90

我写这个正则表达式:

$str =~ s/(.{4})/$1 /g;

但对于这种情况12345678这不起作用.我最后得到了多余的空格:

>>1234 5678 <<

我试着用lookahead重写正则表达式:

s/((?:.{4})?=.)/$1 /g;

如何重写正则表达式来修复这种情况?

解决方法

只需使用解压缩

use strict;
use warnings 'all';

for ( qw/ 12345678 1234567890 / ) {
    printf ">>%s<<n",join ' ',unpack '(A4)*';
}

产量

>>1234 5678<<
>>1234 5678 90<<

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读