師匠の散歩

きままにPerlでも

マッチした前後の文字列

perlで使った関数のメモ/ specialZengo.cgi

マッチした前後の文字列

特殊変数でマッチした値とその前後の値を示すものがあり、挙動を確認した。

$track = '[trkpt lat="35.710032" lon='139.810714"][ele]477[/ele][time]2010-12-31T15:00:00Z[/time][/trkpt]';
$track =~ /"/;
マッチした文字列
"
前側の文字列
[trkpt lat=
後側の文字列
35.710032" lon="139.810714"] [ele]477[/ele] [time]2010-12-31T15:00:00Z[/time] [/trkpt]

じゃあ、2回マッチすればいいじゃないか。

$_ = '[trkpt lat="35.710032" lon="139.810714"][ele]477[/ele][time]2010-12-31T15:00:00Z[/time][/trkpt]';
$track =~ /"/; 
$'     =~ /"/;
$mae=$`;
$ato=$';
マッチした文字列
"
前側の文字列
35.710032
後側の文字列
lon="139.810714"] [ele]477[/ele] [time]2010-12-31T15:00:00Z[/time] [/trkpt]

えっと、何が言いたかったのか、よくわからなくなってきたけど、注意した点をまとめます。

  1. 要素の<と>は無くす。
  2. print文には「$`」は書かない。

specialZengo.cgi // Topに戻る // indexに戻る
Copyright(C) 2009-2021 Grandmaster Last up : 2020/09/18