gpt4 book ai didi

regex - 插入正则表达式以格式化日期(Perl)

转载 作者:行者123 更新时间:2023-12-01 08:25:58 26 4
gpt4 key购买 nike

假设我有一个字符串 04032010。我希望它是 2010 年 4 月 3 日。如何使用正则表达式插入斜杠?

最佳答案

要使用正则表达式执行此操作,请尝试以下操作:

my $var = "04032010";
$var =~ s{ (\d{2}) (\d{2}) (\d{4}) }{$1/$2/$3}x;
print $var;

\d 表示匹配单个数字。 {n} 表示前面匹配的字符 n 次。结合你得到 \d{2} 来匹配两位数字或 \d{4} 来匹配四位数字。通过将每个集合括在括号中,匹配项将存储在一个变量中,$1, $2, $3 ... etc.

之前的一些答案使用 . 来匹配,这不是一件好事,因为它会匹配任何字符。我们在这里构建的版本在接受的内容上要严格得多。

您会注意到我在正则表达式中使用了额外的间距,我使用了 x 修饰符来告诉引擎忽略我的正则表达式中的空格。使正则表达式更具可读性会很有帮助。

比较 s{(\d{2})(\d{2})(\d{4})}{$1/$2/$3}x;s{ (\d{2}) (\d{2}) (\d{4}) }{$1/$2/$3}x;

关于regex - 插入正则表达式以格式化日期(Perl),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2572536/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com