トップページphp
1001コメント313KB

正規表現道場@2ch Part3 s/煽り|荒らし/あぼーん/g

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/11/19 21:42ID:Kst3Nn4S
Perlに限らずスクリプト系言語で大活躍の正規表現。
このスレは有用そうな正規表現を紹介したり、どう表現したらいいかわからないときに質問をしたりするためのスレッドです。
質問するときは使用言語や得たい結果をなるべく詳しく書きましょう。

註:& や " を書くときには、&amp " と描いておきましょうね。

Perlメモ
 http://www.din.or.jp/~ohzaki/perl.htm
正規表現メモ
 http://www.kt.rim.or.jp/~kbk/regex/regex.html
Regex::Diagram.pm
 http://www.cc.rim.or.jp/~midorin/mad-p/RegexDiagram.html
正規表現
 http://www.cc.rim.or.jp/~midorin/mad-p/perl/benkyou/PRC2kRegex/
UNIX正規表現入門 目次
 http://www01.u-page.so-net.ne.jp/jc4/hiroyuki/rex_index.html
Regular Expression(Riue ちゃんの正規表現講座) - Index
 http://www.sixnine.net/regexp/

ほとんどは↓のリンク集にまとまっています。
正規表現最新リンク集2002
 http://www2.famille.ne.jp/~akio1998/l_grep.html

過去スレ
正規表現道場@2ch
 http://pc.2ch.net/test/read.cgi/php/996105815/
正規表現道場@2ch Part2
 http://pc2.2ch.net/test/read.cgi/php/1038146241/
0002nobodyさん03/11/19 21:44ID:???
motu
0003nobodyさん03/11/19 22:56ID:???
nikomi
0004nobodyさん03/11/20 00:40ID:???
nabe
0005nobodyさん03/11/20 01:09ID:???
uma-
0006nobodyさん03/11/20 13:42ID:???
shika-
0007nobodyさん03/11/20 15:18ID:???
chou-
0008nobodyさん03/11/20 20:06ID:???
流れを断ち切るために9get。

$MyJob =~ s/仕事/労働/;
0009nobodyさん03/11/20 20:06ID:???
俺は数字が読めない馬鹿でした。
0010nobodyさん03/11/20 20:15ID:???
$Pay =~ s/残業代//;
0011nobodyさん03/11/21 14:29ID:???
初心者質問で申し訳ないです。
条文(第一条〜第九百九十九条)をアラビア数字(第1条〜第999条)に置き換える式を教えてください。

0012nobodyさん03/11/21 15:19ID:???
>>11
使用言語と環境と文字コードは?
0013未承諾広告※ ◆aiY4htt2.2 03/11/21 21:05ID:???
>>11
$arabic{'第一条'} = 1;
から、
$arabic{'第九百九十九条'} = 999;
まで入れといて、
対象文字列 $joubunn に対して置換してみるとか?

$joubunn =~ /$regexp/$arabic{$regexp}/ foreach my $regexp (keys %arabic);

効率悪そうな悪寒。。。
0014nobodyさん03/11/21 22:07ID:???
>>13
そういうハッシュテーブル使っていいなら、これでそんなに効率悪くないかと。

%arabic = ('一' => 1, ..., '九百九十九' => 999,);
$joubunn =~ s/(?<=第)(.+?)(?=条)/(defined($arabic{$1}))?$arabic{$1}:$1/ge;

てゆかそもそもそのハッシュテーブルの初期化が効率悪そうな悪寒。。。
0015nobodyさん03/11/21 22:43ID:???
文字コード Shift_JIS

my %ichi = ("一"=>1, "二"=>2, "三"=>3, "四"=>4,
"五"=>5, "六"=>6, "七"=>7, "八"=>8, "九"=>9);

my %juu = ("十\"=>1, "二十\"=>2, "三十\"=>3, "四十\"=>4,
"五十\"=>5, "六十\"=>6, "七十\"=>7, "八十\"=>8, "九十\"=>9);

my %hyaku = ("百"=>1, "二百"=>2, "三百"=>3, "四百"=>4,
"五百"=>5, "六百"=>6, "七百"=>7, "八百"=>8, "九百"=>9);

$joubunn =~ s/第(.*?百)?(.*?十\)?(.*?)?条/
"第".($hyaku{$1}||"").($hyaku{$1}?$juu{$2}||0:$juu{$2}||"").($ichi{$3}||0)."条"/eg;


# なんかこれって位取りの処理の仕方が肝で、正規表現とはあんまり関係なさそうな予感。
0016nobodyさん03/11/23 02:27ID:marqbBst
検索したい字句が存在してもしなくても
マッチさせるにはどうしたらいいのでしょうか?

<img src="オムレツ.jpg" alt="おいしい料理1"><b>料理の解説1</b>
<img src="カツ丼.jpg"><b>料理の解説2</b>

っというタグがあってこれから

1行目では、
 \1 → オムレツ.jpg
 \2 → おいしい料理
 \3 → 料理の解説1
2行目では
 \1 → カツ丼.jpg
 \2 →
 \3 → 料理の解説2

というようにしたいのです。
src="(.*?)".*?alt="(.*?)".*?<b>(.*?)</b>
↑のような正規表現を考えたのですが
これを2行目にも正しくマッチできるように
修正していただけませんか?
 
0017nobodyさん03/11/23 03:02ID:???
src="(.*?)".*?(?:alt="(.*?)".*?)?<b>(.*?)</b>
0018nobodyさん03/11/23 03:07ID:???
>>17
希望通りの結果が得られました。
どうもありがとうございます。
0019nobodyさん03/11/24 18:36ID:???
>>11のは、文字列として処理するより、いったん数値にするのがいいと思う
漢数字<->数値<->アラビア数字 で相互変換できればどういったケースでも使える

ちまり正規表現は数字文字列の抜き出しに使うくらいがいいね
0020nobodyさん03/11/25 00:30ID:???
正規表現の質問!
「改行も含めて全部」はどう表現すればよいのでしょう?
「.*」で「改行以外の任意の文字0個以上=改行含まない全文字列」
ですが
「改行も含めた任意の文字0個以上=改行も含めた全文字列」はどう表現すればよいのでしょう?

一応言語はJavaですが、PERLも同じらしいのですが・・
0021nobodyさん03/11/25 00:39ID:???
>>20
Perlなら /s オプション
または文字クラスで [\d\D]* とか [\s\S]* とか [\w\W]* とかどうにでもなる。
JavaScriptは知ってるがJava言語は知らん。
0022nobodyさん03/11/25 00:42ID:???
>>20

>> または文字クラスで [\d\D]* とか [\s\S]* とか [\w\W]* とかどうにでもなる。
>> JavaScriptは知ってるがJava言語は知らん。

Javaでも全部できたみたい!!
今から意味調べます。ありがとうございます!
0023nobodyさん03/11/25 00:43ID:???
>>20
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/regex/Pattern.html#DOTALL
0024nobodyさん03/11/29 00:22ID:???
PHPで質問です。

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output omit-xml-declaration="yes" method="xml" indent="no" />

<xsl:template match="/block">!
<html lang="ja" xmlns="http://www.w3.org/1999/xhtml" dir="ltr" xml:lang="ja">!
!
<xsl:apply-templates select="block_head"/>!
!
<xsl:apply-templates select="block_body"/>!
!
</html>!
</xsl:template>

</xsl:stylesheet>

というテキストがあって、<xsl:template>で囲まれた範囲の改行
("!"があるところ)だけを<xsl:text>\n</xsl:text>に置き換えるにはどう書けば
いいのでしょう。文字コードはUTF-8です。よろしくお願いします。

PHPのXSLT関数ってXSLファイル内のの改行を全部無視しちゃうので明示的に
改行を置かないと出力されるHTMLファイルが一行になっちゃうんですね。
0025nobodyさん03/12/01 13:50ID:???
>>24
もっとスマートな方法があるかもしれないけど、漏れだったらこうするかな。
1. <xsl:template /> の中だけ取り出す
2. 取り出したものを \n を <xsl:text>\n</xsl:text> に置換する
3. 置換したものを <xsl:template /> の中に戻す
0026nobodyさん03/12/01 14:07ID:???
>>25の方法での結果

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:text>
</xsl:text><xsl:text>
</xsl:text><xsl:output omit-xml-declaration="yes" method="xml" indent="no" /><xsl:text>
</xsl:text><xsl:text>
</xsl:text><xsl:template match="/block">!<xsl:text>
</xsl:text><html lang="ja" xmlns="http://www.w3.org/1999/xhtml" dir="ltr" xml:lang="ja">!<xsl:text>
</xsl:text>!<xsl:text>
</xsl:text><xsl:apply-templates select="block_head"/>!<xsl:text>
</xsl:text>!<xsl:text>
</xsl:text><xsl:apply-templates select="block_body"/>!<xsl:text>
</xsl:text>!<xsl:text>
</xsl:text></html>!<xsl:text>
</xsl:text></xsl:template><xsl:text>
</xsl:text>
0027nobodyさん03/12/05 18:55ID:???
perlで質問です。
---------------------
あ\n
     \n
\n
\n
あ\n
---------------------
\nは改行です。
上のようなテキストファイルから2つ以上の連続した空白行を一つにまとめたいと思い、
$対象文字列 =~ m/^\s*\n$/; (空白文字0個以上だけで構成され改行で終わる)
にマッチしたらフラグをセットし、フラグがオンに間はファイルに出力せず、
フラグがオンかつマッチング対象が空白文字だけで構成されていなければフラグをオフにする。
としようとしたのですが、
対象に空白文字と改行以外の文字が含まれるというのをどうやって表現していいか分かりません。
よろしくお願いします。
00282703/12/05 19:01ID:???
[^\s\n]で簡単にできました
はいどうも
0029nobodyさん03/12/05 19:03ID:???
何をしたいのかよくわからん
0030nobodyさん03/12/06 23:50ID:???
今日電車で置換されました。
0031nobodyさん03/12/07 03:53ID:ye6hWK3e
>>30
同じカバン持ってる奴にお前のカバンを持ってかれたのか?
0032nobodyさん03/12/07 05:21ID:???
s/財布//g
かもしれん
0033 03/12/07 06:33ID:???
>26
それはなかろう。
0034nobodyさん03/12/07 11:49ID:???
>>1
スレタイのRegExpが意図した通りに動かない恥ずかしいスレはここですか?
0035nobodyさん03/12/07 15:12ID:???
>>34
いつの世も正規表現とはそういうものなのです。
0036nobodyさん03/12/09 11:55ID:???
perlで変数$siteurlに入っているURLのドメインを$hogeに代入したいんですが、
・サブドメインがあればそれも
・ドメインに~が続いていたらそのユーザーID(?)まで
↑の条件付でして、思うようにいってくれなくて困ってます。

$siteurl =~ /^https?:\/\/(.*?)\/((.).*)/;
$hoge = $1;
$hoge .= "/$2" if ($3 eq "~");
こんな感じのとこまで考えたんですけどこれだと
http://hoge.hoge/~hoge
http://hoge.hoge/hoge
は意図したとおりなんですが、
ドメインより後ろに何も入ってないときは駄目だし・・
他にも色々調べながら試したんですが
ドメインの後にスラッシュがないと駄目だとか、
とにかく何か色々だめだめなんです。

正規表現からっきし駄目な僕に教えていただけませんでしょうか?
0037nobodyさん03/12/09 13:43ID:???
>>36
これでどうかな?
$hoge = $1 if ($siteurl =~ /^https?:\/\/([^\/]+(?:\/~[^\/]+|)).*/);
0038nobodyさん03/12/09 14:09ID:???
>>36
http://www.example.com/~username/path/to/file
という http URL の各部名称は、
"http" ... スキーム (scheme)
"www.example.com" ... ホスト名、サーバ名、ドメイン、FQDN etc.
"www" ... 3rd レベルドメイン、ホスト名、所謂「サブドメイン」 etc.
"/~username/path/to/file" ... パス (絶対パス)
"~username" ... 所謂「ホームディレクトリ」

see also: http://member.nifty.ne.jp/moha/rfc/rfc2396j.txt

my($hoge) = $siteurl =~ m{^https?://([^/]+(?:/[^/]*)?)};
$hoge =~ s/~//;
0039nobodyさん03/12/09 16:14ID:W6bkuxuf
プログラミング・・・ではないのかもしれないのですが、教えて頂けませんか?

gooの辞書から関連語句だけを集めて用語辞典を作りたいので、
「説明文から検索」の機能で抽出した後、
左側に出てきた見出しだけをテキストエディタにコピペして、
単語以外は全て削除したいと思っています。
メモ帳とワードの他にVisual C++があるのですが、
これらで何とかできませんか?
例えば・・・
http://dictionary.goo.ne.jp/search.php?MT=%CE%EB%CC%DA&kind=jn&mode=0

すずき 【鈴木】
姓氏の一。...

すずき-あきら 【鈴木朖】
(1764-1837) ...

すずきいせき ―ゐせき 【鈴木遺跡】
東京都小平市にある旧石器...

すずき-うめたろう ―うめたらう 【鈴木梅太郎】
(1874-1943) ...

上記の場合でいうと、
(半角スペース)【鈴木】・・・から行末まで削除、とか
(全角スペース)―ゐせき(半角スペース)【鈴木遺跡】・・・から行末まで削除、というふうに
とにかく最初のひらがな単語だけを残したいのです。

▼などの記号も混ざっているので、段階を踏まなきゃならないのかなとも思いましたが
「正規表現メモ」とか見ても
どうすればいいのかさっぱりなんです(´д`;
よろしくお願いします。
0040 03/12/09 16:21ID:???
‘次の結果→’にはさまれてる‘<b></b>’の中を取得。
オジーオズボーン単車で事故ったって。
00413603/12/09 16:36ID:???
すいません、本屋行っててレス遅れました
>>37さんのをちょっとだけテストさせていただいたところ
どうやら期待通りに動いてくれているようです。
それぞれ何をしているのかを調べながら、テストを重ねさせていただきたいと思います
>>38さんの方は返ってくる値が、>>36で質問した
「今回ぼくがやりたいこと」とは期待していたものとは違ったんですが、
最終的にやりたいことが、
「後々入力されたほかのデータが、登録されているサイトのサーバー上にあるか、
 というか、
 そのサイト上のデータかどうかを調べる」
ということがしたかったので、ユーザーIDの自分の中での定義など、
なにか考え直す必要があるような無いような、そんな感じがしました。
・・何が言いたいのが良くわかりませんし、やたら長文で読みにくいと思いますが、
兎に角何がいいたいかといいますと、

本当に有難うございました。
0042nobodyさん03/12/09 16:39ID:???
timeで時間を取得して3の倍数の分なら処理をしようとしたんですが、ググッて調べた
下の書き方だとエラーが出てしまいます。どこか間違ってるんでしょうか?

if ($min =~ ^(\d+)(?(?{$1 % 3})(?!))$){
0043 03/12/09 16:41ID:???
正規表現を使おうとしてるところ?
0044 03/12/09 16:45ID:5gjkqVTX
>>35
それを言っちゃあおしめえよ。
0045nobodyさん03/12/09 17:51ID:???
>>43
正解
0046nobodyさん03/12/11 14:45ID:jBSAkNSo
テキストファイル中で「$replace[XXXXX]」となっている部分を
「XXXXX.html」に置き換えるような処理はどうすればよいでしょうか?
XXXXXが可変です。
0047nobodyさん03/12/11 14:52ID:???
大括弧の中を取得して、それに.htmlを付加すればOK。
0048nobodyさん03/12/11 15:00ID:???
>>46
さあ、添削してやるから書いてみれ。
00494603/12/11 15:14ID:jBSAkNSo
一応でけました。
初心者なんで、最適化も何もない&さっき質問したのと話がちょっと違うけどお願いします。
文字列に含まれる$img[XXXXX]の中身XXXXXを関数に渡して、その処理結果で置き換える、ということです。

$test = 'aaa <a href="test.pl"><img src="$img[test1]"></a><img src="$img[test2]">';
$test =~ s/(\$img\[)(\w+)(\])/func($2)/ge;
print $test;

sub func{
local($id)=@_;
if($id eq "test1"){
return "test1が渡されたよ";
}
return "test2が渡されたよ";
}
0050nobodyさん03/12/11 15:38ID:???
>>49
おおう、いいんじゃない。前後はカッコ要らんけど。
$test =~ s/\$img\[(\w+)\]/func($1)/ge;
0051nobodyさん03/12/11 21:09ID:???
>>42
if ($min =~ /^(\d+)(?(?{$1 % 3})(?!))$/){

=~の右辺は正規表現だから、m/正規表現/、その省略形、/正規表現/
0052nobodyさん03/12/11 21:11ID:???
むむ?=~はパターンマッチ…
0053nobodyさん03/12/14 11:28ID:9SKP9sfi
http://cgupload.dyndns.org/~upuser/up2/imgboard.cgi
ここの2ページ以降の正規表現おしえてください
0054nobodyさん03/12/14 12:18ID:???
その内容を要約してここに書きなさい。
0055nobodyさん03/12/14 12:19ID:9SKP9sfi
>>54
http://www.big.or.jp/~talk/t-club/soft/mini_r6/index.cgi
この掲示板の2ページ目、3ページ目のURLが
知りたいんですが、どのページも同じURLなんです・・・・
2ページ目はどうやれば指定できるんでしょうか?
何か元になるURLに付記すればいいのでしょうか?教えてください・・

0056nobodyさん03/12/14 12:29ID:9SKP9sfi
あまちがえた ここ

http://cgupload.dyndns.org/~upuser/up2/imgboard.cgi
この掲示板の2ページ目、3ページ目のURLが
知りたいんですが、どのページも同じURLなんです・・・・
2ページ目はどうやれば指定できるんでしょうか?
何か元になるURLに付記すればいいのでしょうか?教えてください・・
0057nobodyさん03/12/14 12:53ID:???
ここは正規表現のスレです。
激しくスレ違い >>53 >>55 >>56
0058nobodyさん03/12/14 12:55ID:???
POSTも知らない厨房が紛れ込んだスレはここですか?
0059nobodyさん03/12/14 12:57ID:9SKP9sfi
>>57
>>58
うっせーハゲども
教えれば委員だよおしえれば
シネヤ
0060nobodyさん03/12/14 12:59ID:???
スレ違いだというのに真っ赤な顔をして書き込んでいる厨房がいるスレはここですか?
0061nobodyさん03/12/14 13:01ID:9SKP9sfi
>>60
してねーよ妄想野郎
0062nobodyさん03/12/14 13:02ID:???
正規表現に関係ないのに教える訳にもいかんだろーが…
0063nobodyさん03/12/14 13:05ID:???
しょーがねぇな…

◆HTML講座(Web製作板)
http://pc2.2ch.net/test/read.cgi/hp/1010398268/
0064nobodyさん03/12/14 13:10ID:9SKP9sfi
>>63
そこでおしえてくれ
0065初心者03/12/15 04:53ID:llm//hKN
"@"という文字と"word"のどちらかにヒットする正規表現
が分からないのですが、[@]wordではないし、どうなるのでしょうか。
0066nobodyさん03/12/15 05:33ID:???
>>65
ちみはスレタイも読めないのか?
0067nobodyさん03/12/15 06:14ID:???
正規表現の質問なんだから間違ってはいないだろう。
0068nobodyさん03/12/15 09:03ID:???
67=65
00696803/12/15 09:05ID:???
xorなら話変わるか。
なんで正規表現でやる必要があるのかよく分からんが。
0070nobodyさん03/12/15 10:25ID:8LAW+/sT
>>65
一つの正規表現に拘る必要はないと思うが、、、?
条件分岐だとして例えば
if($key_word=〜/@/ || $key_word=〜/word/){〜以下実行文
では駄目なのかな?
0071nobodyさん03/12/15 10:31ID:???
Read Only Memory : 書き換え不可の記憶媒体。
Read Only Member : 書き込まない利用者。
0072nobodyさん03/12/15 10:59ID:???
>>70
わからないなら書かなくていいから
0073nobodyさん03/12/15 14:28ID:???
>>65
(@|word) とか。
なんでみんなどの言語で実装するか書かないのだろう?
0074nobodyさん03/12/15 14:41ID:???
それはどちらにもヒットする正規表現では。
0075nobodyさん03/12/15 23:09ID:8LAW+/sT
>>75
 70は間違ってはいないよ、不充分かも知れんが。
 そもそも65の質問がどういうシチュエーションでどういう動作の目的でどういうマ
ッチングをさせたいのかを詳細に述べていないという不充分な訊き方なので、70のよ
うな「充分用を足すかどうかは保証の限りではない」当たり障りのない答えが返って
きても当然だと思うが。
 70の記述で取り敢えず「@」「word」が含まれていれば、その含まれている最初
の箇所マッチする。 複数含まれていて、それを全てマッチさせるのか、n回目まで
マッチさせるのかなどでオプション等の補助的記述が必要になって来るし、「含まれ
ている」ではなく「その単語そのもの独立だけに厳密マッチ」させるのならが、また
違う話になってくる、それをイチイチ説明していたら解説書になってしまう、それは
自分で読んでくれってことになる。
0076nobodyさん03/12/16 09:10ID:???
なんだ?こいつ。
0077nobodyさん03/12/16 13:37ID:???
>>76
アホは放置で。
0078nobodyさん03/12/16 16:12ID:???
不十分とか言う以前に正しい記述をしろってーの
0079nobodyさん03/12/16 17:08ID:???
>>78
>>75 は、元の質問が十分じゃないので正しい記述は不可能、と言いたいのだろう。
だが、アホなので放置で。
0080nobodyさん03/12/18 18:53ID:zzUoxnBB
小数点を含まない数値にマッチさせるパターンを教えて下さい。

X25.125
X12.1
X78.
でなく
X25
X789
にマッチさせたいんです。 
御多忙中の所、誠に恐縮では御座いますが、
御教示いただければ幸いです。
0081nobodyさん03/12/18 18:57ID:???
>>80
> X25.125

Xとか入ってるけど,これって数値か?
0082nobodyさん03/12/18 19:01ID:???
>>80
(.+?)\.
0083nobodyさん03/12/18 19:11ID:zzUoxnBB
スミマセン
Xは無視してもらっていいです。
0084nobodyさん03/12/18 19:27ID:???
perlの正規表現なんですが、
$hoge = "a(b(c))";
の時に、$hoge =~ m/(.*)\((.*)\)/
とすると、$1は"a(b"で、$2は"c)"になりました。
つまり文末から見ていることになるのですが、これを
$1は"a"で、$2は"b(c)"になるようにするにはどうすればいいでしょうか。
よろしくお願いします。
0085nobodyさん03/12/18 19:36ID:???
>>84
それは文末から見ているんじゃない。. は ( も含むから
最初の .* が一番長くマッチできるところまで取り込んでいるだけ。

/([^)]*)\((.*)\)/ か /(.*?)\((.*)\)/ かこの辺↓参照。
http://www.din.or.jp/~ohzaki/regex.htm#GetNestedParen
0086nobodyさん03/12/18 20:29ID:???
>>80は普通に
[0-9]+
じゃない?
全体なら^$つけるとか。
0087nobodyさん03/12/18 20:34ID:???
同意
0088nobodyさん03/12/18 21:08ID:zzUoxnBB
[0-9]+ ですと
例えば
10.
10.01
10
のうち、全ての"10"を拾います。 上記3つの数値のうち小数点を含まない
10(3つ目)のみにマッチさせたいんです。
0089nobodyさん03/12/18 21:11ID:???
>>88 -> >>86
0090nobodyさん03/12/18 21:42ID:???
>>88
>全体なら^$つけるとか。
^[0-9]+$
0091nobodyさん03/12/19 06:15ID:z9mYPuUz
ところが全て行末ではないんです。
0092nobodyさん03/12/19 08:15ID:tSEWBAlW
$perl -pe 's/(?<![\.\d])(X\d+)(?![\.\d])/##$1##/g;' >>80

小数点を含まない数値にマッチさせるパターンを教えて下さい。

X25.125
X12.1
X78.
でなく
##X25##
##X789##
にマッチさせたいんです。 
御多忙中の所、誠に恐縮では御座いますが、
御教示いただければ幸いです。
00933903/12/19 10:20ID:???
今頃ですが・・・
自力で検索したサイトは難しい所ばかりだった気がしたのですが、
>>1のリンク先を一通りち回って、今回は何とかなりました。
たぶん答えるのもアホらしい低レベルな質問だったんでしょうね。
スレ汚し失礼しました。
0094nobodyさん03/12/19 13:04ID:???
>92 いいかげんにしろやカス
0095nobodyさん03/12/19 16:38ID:???
>>92
おらよ。
/(?:^|[^\d\.])(\d+)(?:[^\d\.]|$)/
0096nobodyさん03/12/19 23:48ID:???
/(?:^|[\d\.])([1-9]\d*)(?:[^\d\.]|$)/
0097nobodyさん03/12/21 14:45ID:???
>>92
お前さんのレベルじゃ,
込み入った正規表現に手を出すのはまだ早いんじゃないか?
とりあえずわかりやすい代替手段でも使っておけ。

my $f = 'fs4.5s5d.af56.156asd';
my @res = ();
foreach ( split(/[^\d.]/, $f) ){ push( @res, $_ ) if(/^[\d]+$/); }
if(! scalar(@res) ){ print "no match!\n"; }
elsif( scalar(@res) > 1 ){ print "too much match!\n"; }
else{ print "matched:[$res[0]]\n"; }


0098nobodyさん03/12/21 23:40ID:qD9UdeKR
[サッカー][蹴球]96 ATLANTA OLYMPIC BS1総集編 日本1-0ブラジル 前園 カヌー オルテガ [110m08s DivX5].avi dgju9h3hNw 731,862,992 53de508adb8dc5d557c4d83efde22799
nyのキー情報(↑みたいなの)を正規表現で表すことできますかね?

ダウソ板のスレを全部取り込んで、
キー情報だけ抜き出してリストを作りたいです。
0099nobodyさん03/12/22 00:11ID:???
「みたいの」ってのが無理。
0100a03/12/22 01:56ID:???
>>98
もっとわかりやすく説明しろボケ
0101nobodyさん03/12/22 02:02ID:???
いいから放置しとけ
■ このスレッドは過去ログ倉庫に格納されています