私は、Perlを使ってhtmlファイルを検索し、セミランダムな文字列を探して変数に格納したり、印刷したりしています。正規表現を使用してランダムな文字列のhtmlファイルを検索
ストリングがjpg画像の名前であり、常に6つの小文字が続く9桁のパターンに従う、すなわち
140005917smpxgj.jpg
しかし、それは毎回ランダムです。私はPerlがこれを行うことができると確信していますが、私はちょっと混乱しています。
私は、Perlを使ってhtmlファイルを検索し、セミランダムな文字列を探して変数に格納したり、印刷したりしています。正規表現を使用してランダムな文字列のhtmlファイルを検索
ストリングがjpg画像の名前であり、常に6つの小文字が続く9桁のパターンに従う、すなわち
140005917smpxgj.jpg
しかし、それは毎回ランダムです。私はPerlがこれを行うことができると確信していますが、私はちょっと混乱しています。
あまり複雑ではありません。エクステンション内のさまざまな帽子を気にすることができます。 JPG
。それが問題であれば、拡張の前に(?i)
を追加することができます。
また、部分的な名前を使用しないようにすることもできます。 9桁以上の一致を破棄します。それは(?<!\d)
部分です:一致する桁の文字がないことを確認してください。
ETA:ikegamiのおかげで、複数の一致も抽出されるようになりました。
while (<>) {
for (/(?<!\d)([0-9]{9}[a-z]{6}\.(?i)jpg)/g) {
say;
push @match, $_;
}
}
であるが、この正規表現を試してみてください:
/\b\d{9}[a-z]{6}\.jpg/
use warnings;
use strict;
while (<DATA>) {
if (/ ([0-9]{9} [a-z]{6} [.] jpg) /x) {
print "$1\n";
}
}
__DATA__
foo 140005917smpxgj.jpg bar
sdfads 777666999abcdef.jpg dfgffgh
プリント:
140005917smpxgj.jpg
777666999abcdef.jpg
を
タイトルと署名の投稿にはタグを付けないでください。 –