假设我有一个字符串04032010. 我希望它是04/03/2010。我将如何插入正则表达式的斜杠?插入正则表达式来格式化日期(Perl)
3
A
回答
3
好了,正则表达式匹配正好,但你可以尝试这样的事: 小号/(..)(..)(..)/$ 1/$ 2/$ 3/
#!/usr/bin/perl
$var = "04032010";
$var =~ s/(..)(..)(....)/$1\/$2\/$3/;
print $var, "\n";
厂对我来说:
$ perl perltest
04/03/2010
2
我总是喜欢使用不同的分隔符,如果/
参与,所以我会去
s| (\d\d) (\d\d) |$1/$2/|x ;
4
要使用正则表达式做到这一点,请尝试以下操作:
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
等等。
一些先前的答案使用.
来匹配,这不是一件好事,因为它可以匹配任何字符。我们在这里建立的那个在接受的内容上要严格得多。
你会注意到我在正则表达式中使用了额外的空格,我用x
修饰符来告诉引擎忽略我的正则表达式中的空格。使正则表达式更具可读性会很有帮助。
比较s{(\d{2})(\d{2})(\d{4})}{$1/$2/$3}x;
VS s{ (\d{2}) (\d{2}) (\d{4}) }{$1/$2/$3}x;
+0
+1用于避免过度使用。 – 2010-04-04 22:12:02
相关问题
- 1. 正则表达式来表达CCYYMMDD格式日期
- 2. perl正则表达式与日期
- 3. jquery正则表达式日期格式
- 4. 正则表达式日期
- 5. 日期输入正则表达式
- 6. 日期格式正则表达式匹配日期分隔符
- 7. YYYYMMDD日期格式正则表达式来验证C#中的日期.net
- 8. 正则表达式用Perl,如预期
- 9. 日志格式的正则表达式
- 10. Perl正则表达式简化
- 11. 正则表达式格式化的话
- 12. 正则表达式来匹配日期从日期
- 13. 含空格的日期和日期的正则表达式
- 14. Perl:正则表达式
- 15. Javascript/Perl正则表达式
- 16. Perl正则表达式
- 17. Perl的正则表达式
- 18. 正则表达式用Perl
- 19. Perl正则表达式在@
- 20. Perl正则表达式在\
- 21. 正则表达式在Perl
- 22. Perl Oneliner正则表达式
- 23. Perl的正则表达式 - 动态正则表达式
- 24. 将Perl正则表达式转换为SQL正则表达式
- 25. 将Perl正则表达式转换为Python正则表达式
- 26. 正则表达式格式
- 27. 正则表达式日期格式m/dd/yy-m/dd/yy
- 28. 正则表达式转换日期格式DD/MM/YY
- 29. Javascript正则表达式日期格式dd/mm/yy
- 30. 这个日期格式的正则表达式?
正如一个方面说明,这被认为是第四行军,或第三四月的?我总是会转换为yyyy-mm-dd格式(ISO 8601)进行消歧。 – Svante 2010-04-03 22:08:12