Perlの正規表現を使って文字列をまとめて取得する方法
Perlの正規表現で文字列をまとめて取得する方法を紹介します。
1.問題点
Perlで次のようなタイムスタンプの変数を設定します。
my $timestamp = '2021-04-11 12:34:56';
このタイムスタンプんの年月日時分秒をそれぞれ別の変数に取得したいのですが方法がわかりません。
ちなみに、特定の文字列であれば、次のような構文で取得できます。
( my $year = $timestamp ) =~ s/^(\d{4})-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2}$/$1/;
ということで、Perlの正規表現を使って文字列をまとめて取得する方法を紹介します。
2.対処方法
文字列をまとめて取得するには次のようにパターンマッチ演算子(m//)で記述します。
my ( $year, $month, $day, $hour, $minute, $second )
= $timestamp
=~ m!^(\d{4})-(\d{2})-(\d{2})\s+(\d{2}):(\d{2}):(\d{2})$!;
これで、$year, $month, $day, $hour, $minute, $secondの各変数に、年月日時分秒をそれぞれ設定されます。
Posted by yujiro このページの先頭に戻る
- Perlでansibleライブラリを作成する方法
- perlのCPANモジュールからRPMを作成する方法
- Perlで「Subroutine permission redefined at~」を抑止する方法
- XML::Simpleのインストールでエラーになる場合の対処
- YAML::Tinyで「YAML::Tiny found bad indenting in line~」というエラーになる場合の対処
- Perlのハッシュでキーの有無を調べる方法
- perlで配列の途中の要素を削除する方法
- YAML::Tinyでコロンを利用する方法
- Perlで改行コードがCRのファイルを読み込む方法
- Perlで「Possible precedence issue with control flow operator」という警告の対処
- PerlのLWPで「Can't verify SSL peers without knowing which Certificate Authorities to trust」というエラーになったときの対処
- Perl+Windowsでファイルを再帰的にリネームする方法
- Perlプログラムの中でファイルの一部を書き換える方法
- Perlの「Bareword "%s" not allowed while "strict subs" in use~」というエラーについて
- Perlで文字列結合しながらs///演算子で置換する方法
トラックバックURL
コメントする
greeting