正規表現道場@2ch Part2
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/11/24 22:57ID:LrbVcl3Yこのスレは有用そうな正規表現を紹介したり、どう表現したらいいかわからないときに
質問をしたりするためのスレッドです。
質問するときは使用言語や得たい結果をなるべく詳しく書きましょう。
リンクなどは>>2-5のあたりに。
0797nobodyさん
03/08/10 19:24ID:???0798nobodyさん
03/08/11 22:10ID:???0799nobodyさん
03/08/11 23:28ID:DlYo/nU/為替レートなのですが
こう言う表記がされていて
118と33と38と-0.78を抜き出したいのでつ。
もう一つのパターンが1.1332-37(0.0025)
なのでつが
1.1332と1.1337と0.0025を抜き出したいのでつ。
お願いします。
0800nobodyさん
03/08/11 23:32ID:2ChtRC4J制服姿もよく似合います。パイパン?と思われるほど陰毛が激薄なので
指姦、挿入シーンは注目してみてください!
フェラのテクニックなんかはやっぱり十代のそれとは比べ物になりませんね。
素人援交女の悶絶痴態 !
無料ムービー観てね
http://www.geisyagirl.com/
0801nobodyさん
03/08/12 00:10ID:???$str = '118.33-38(-0.78)';
if ( $str =~/(\d+)\.(\d+)-(\d+)\((\-?\d+\.\d+)\)/ ) {
$str1 = $1;
$str2 = $2;
$str3 = $3;
$str4 = $4;
}
print $str1,"\n";
print $str2,"\n";
print $str3,"\n";
print $str4,"\n";
$str = '1.1332-37(0.0025)';
if ( $str =~/(\d+\.\d+)-(\d+(?:\.\d+)?)\((\-?\d+\.\d+)\)/ ) {
$str1 = $1;
$str2 = substr($str1, 0, length($money1)-length($2)).$2;
$str3 = $3;
}
print $str1,"\n";
print $str2,"\n";
print $str3,"\n";
0802nobodyさん
03/08/12 08:50ID:3acz8emqhttp://www.book-i.net/ad07
0803(^o^)/...http://pleasant.e-city.tv/
03/08/12 21:11ID:P8GdC1tUhttp://pleasant.e-city.tv/
0804nobodyさん
03/08/13 03:36ID:+G82bcJ9メールヘッダを解析するプログラムを作っているのですが、
「
Yahoo!オークション - 自動再出品:---.---(c00000000)
Mime-Version: 1.0」
このようなヘッダのsubject部だけを取り出そうと
$subject =~ s/(.*)\n.+?\:\s*?.+?/$1/s;
こういう正規表現を書きました。
しかし、取り出し結果は
「
Yahoo!オークション - 自動再出品:---.---(c00000000)1.0」
こうなっております。
なぜ、「Mime-Version: 」だけ取れたのか、不思議で仕方ありません。
なぜならば、
$subject =~ s/(.*)(\n.+?\:\s*?.+?)/$1$2/s;
こうやるとしっかりとそのまま出るからです。
空回りしているのは承知ですが、どうか教えてください。
宜しくお願いいたします。
0805nobodyさん
03/08/13 04:07ID:???正規表現の後半の部分が \:\s*?.+? だと最短マッチだから ": " にマッチするから、
"1.0" が残ったんでしょ。
0806nobodyさん
03/08/13 04:18ID:???$subject =~ s/(.*)(\n.+?\:\s*?.+?)/[$1][$2]/;
ところで、正規表現パターンに s オプションがついてるけど、それどゆ意味?
0807nobodyさん
03/08/13 04:38ID:???夜遅くに、本当に有難うございました。
やはり空回りしてましたね。
最後の?をとったらあっさり通りました。
ということは、半角スペースはピリオドでは引っかからないと
いうことですかね。これはこれで今ごろ知りました。やばい。
s オプションをつけたのは、改行が含まれるからです。
これで気兼ねなく眠れます。
本当に有難うございました。
0808nobodyさん
03/08/13 05:02ID:???> ということは、半角スペースはピリオドでは引っかからないと
> いうことですかね。これはこれで今ごろ知りました。やばい。
違うっしょ。
上の例の場合だと、 "\s*?" は最小一致になってるからゼロ文字にマッチして、
空白はその後ろの ".+?" に食べられてるでしょ。
0809nobodyさん
03/08/13 06:33ID:EIv2Ifoyttp://www.yahoo.co.jp/sports/matsui
とあったとします。
それでttp://www.yahoo.co.jpだけを抜き出すにはどうすればいいのですか?
いくらやってもうまくいかなくて。。
0810nobodyさん
03/08/13 07:15ID:???0811nobodyさん
03/08/13 18:17ID:???\sは「空白文字」ですよね?
なので空白文字以外は引っかからないと思うのですが、
いかがでしょう。
理解不足ですみません。
0815山崎 渉
03/08/15 22:34ID:???│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0816nobodyさん
03/08/16 05:13ID:0jlc9p4o例えば <font size=3>font</font> から「font」を検索する場合にfontタグは検索結果に含めないという意味です。
0817nobodyさん
03/08/16 06:07ID:s3eL1VQH0818nobodyさん
03/08/16 07:48ID:w5cGb34cstrip_tags()っていう関数があるけど
0819nobodyさん
03/08/18 02:08ID:BFUuzXu6ただし、最後のスラッシュはいらないです。
たとえば
/usr/local/apache/logs/access_log
このファイルだったら
/usr/local/apache/logs/ ← こうではなく
/usr/local/apache/logs ←このようにしたい
0821820
03/08/18 02:31ID:???の方が良いか。
0823nobodyさん
03/08/18 08:11ID:???.htaccessのRedirectMatchで正規表現を使い以下のような置き換えを
しようとしてるんですが、上手くいきません。アドバイスおながいします
hoge.com/diary/diary.cgi?d=20030818 をhoge.com/diary/?date=20030818
にしたいとき。
RedirectMatch diary\.cgi\?d=(.*)$ http://hoge.com/diary/?date=$1
?は\でエスケープできないのかなぁ。
例えば、
RedirectMatch diary\.cgi\_d=(.*)$
のように、?以外にするとひっかかるし。
あと、置き換え後の
http://hoge.com/diary/?date=$1
に関しては、? が %3f になってしまうのもよくわかりません。。
0824823
03/08/18 08:12ID:???(*)じゃなくって、(.*)ですた。スマソ
■ このスレッドは過去ログ倉庫に格納されています