正規表現道場@2ch Part4
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
05/01/17 11:51:25ID:SH1ygN1Pこのスレは有用そうな正規表現を紹介したり、
どう表現したらいいかわからないときに質問をしたりするためのスレッドです。
質問するときは使用言語や得たい結果をなるべく詳しく書きましょう。
註:& や " を書くときには、& " と描いておきましょうね。
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/
正規表現道場@2ch Part3 s/煽り|荒らし/あぼーん/g
http://pc5.2ch.net/test/read.cgi/php/1069245758/
0002nobodyさん
05/01/17 13:15:29ID:???0003nobodyさん
05/01/17 21:55:47ID:???0004nobodyさん
05/01/17 22:04:02ID:???屁
0005nobodyさん
05/01/17 22:30:18ID:???$msg = "組織運営図";
if ( $msg =~ /(.*)運営(.*)/ ){
print "ok. $1$3\n";
} else {
print "NG\n";
}
上のコードで okに行って欲しいんですが、
マッチしてくれません…。
何か根本的な勘違いしてますでしょうか。
0006nobodyさん
05/01/17 22:49:27ID:???文字コードは Shift_JIS だよね?あと $1$3 じゃなくて $1$2 だよね?
Perl 5.8 を使ってるなら、最初で use encoding 'Shift_JIS'; としてみる。
それ以前のバージョンの Perl ならとりあえず /(.*)\Q運営\E(.*)/ としてみる。
0007nobodyさん
05/01/17 23:11:27ID:???00085
05/01/18 09:38:37ID:???use encoding 'Shift_JIS';
これでいけました。
こんな単純なことだったとは…
これで昨日一日つぶしちゃった…orz
激しく感謝ですw
0009nobodyさん
05/01/18 16:31:30ID:???ヘルプには
・メタ文字 \Gは使用できません。
・'/'はエスケープする必要はありません。
修飾子は以下の3つをサポートしています。
k 文字を日本語(シフトJIS)として扱いします。
m 文字列を複数行として扱います。
i 大文字と小文字を区別しないで検索します。
と、あります。
--------この下が一行目-------
スレッド名
Thu, 29 Jan 2004 17:27:16 GMT
1002
0
http://hoge.com/bbsname
3
0
0
1075476984
0
-----ここまで--------
の2chブラウザのidxファイルを置き換えて
3行目の一文字目("1002"の"1")が1で、
3行目が4桁である時に
7行目を"3"にしたいのですが
speeeeedの検索文字列と置き換え文字列の欄には何を入れれば良いのでしょうか?
よろしくお願いします。
0010nobodyさん
05/01/18 17:37:11ID:TA2apQcG「・・・で・・・である時に」なんていう条件分岐の機能は持ってないだろ。
0011nobodyさん
05/01/18 19:28:22ID:???修飾子 m をセットして、検索文字列、置換文字列をそれぞれこんな感じかな。
\A(.*\n.*\n)(1\d\d\d\r\n)(.*\n.*\n.*\n)(.*\n)
$1$2$3\r\n
0012nobodyさん
05/01/19 03:18:24ID:hI5VxZ7oどんな風に記述すればよいでしょうか?
001412
05/01/19 03:40:05ID:hI5VxZ7o変数がある文字を含んでいたら、という判断をさせたいのです
0015nobodyさん
05/01/19 03:41:19ID:???0016nobodyさん
05/01/19 04:29:16ID:???if (/ある文字列/)
0021nobodyさん
05/01/19 16:04:47ID:???正規表現を独自拡張してない実装ってどれのこと?
0023nobodyさん
05/01/19 16:48:15ID:???条件付パターンマッチと言っても、変遷で表現できるので、正規表現で解が求まる
ペールはたまたま、読みやすさかなんかのために、独自の表記方法を導入してるが、
処理としては普通。実装とは関係ない。abcはabならcにマッチする、というのと変わらん
0025nobodyさん
05/01/19 17:23:49ID:???どいたしまして。
Speeeeed は初めて知ったので自信無かったけどうまくいったみたいでよかった。
なんだか話題が変な方向に行ってるみたいだけど、
>>12=14 が実装言語に何を使っているか限定せずに質問を始めたのがまずい気がする。
質問するひとは、はじめに何使ってるかをちゃんと示しておくべきだと思う。
0026nobodyさん
05/01/19 17:30:52ID:???0027nobodyさん
05/01/19 18:42:24ID:???0028nobodyさん
05/01/20 02:59:30ID:???0029nobodyさん
05/01/20 20:17:30ID:???下記だとどうやら全角英数にもマッチしてしまうみたいです。
preg_match('/[\xB0\xA1-\xF4\xA4]/', $str)
どのようにしたら漢字だけにマッチするようになるでしょうか?
0030nobodyさん
05/01/21 11:13:19ID:ALcAsVlrを
1005hw9fCDDLlBeZ0
にしたい(ようは、%以降の文字列を削りたい。%は1回しかでてこない)
にはどうすればいいでしょか?
なお、php4です。
$srt_o = preg_replace("/^(.*)(\%.*)(.*)$/i", "$1$3", $srt_o);
でもうまくいかず・・・
003130
05/01/21 11:22:49ID:ALcAsVlr変換されずでしたわ・・・
$srt_o = preg_replace("/^(.*)(\%.*)$/i", "$1", $srt_o);
003230
05/01/21 11:25:14ID:???、最後に出てきる%の文字列以降を削除する方法を教えてくださいませ
0033nobodyさん
05/01/21 11:25:24ID:???$str = '1005hw9fCDDLlBeZ0%253D';
$str = explode('%',$str,1);
var_dump($str);
で。正規表現(゚�听)イラネなときは出来るだけ使わない。
0034nobodyさん
05/01/21 11:27:07ID:???とりあえずpreg_replace('/%.*/', '', $str_o);
0035nobodyさん
05/01/21 11:29:12ID:???preg_replace('/%[^%]*$/', '', $str);
%はエスケープ不要よ。
003633
05/01/21 11:30:24ID:???訂正
$str = '1005hw9fCDDLlBeZ0%253D';
$str = explode('%',$str,2);
var_dump($str);
0037nobodyさん
05/01/22 16:28:46ID:Z5CU+gTj2
00:02:19,916 --> 00:02:21,084
I can't move!
3
00:02:24,879 --> 00:02:27,215
Help me! I can't move!
4
00:02:27,882 --> 00:02:28,591
Oh my god!
このような文字列のtxtファイルを英語の部分のみ下のように取り出したいのですが
I can't move!
Help me! I can't move!
Oh my god!
いいソフトはありますかと聞いたところ正規表現ならできると聞き、このスレに来ました。
上の条件を満たすにはどのようにすればいいのでしょうか?
0038nobodyさん
05/01/22 16:48:23ID:???「ソフトありますか」からここに来るのがいまいちよくわからんな。
正規表現の書き方が知りたいのか?
できるけど正規表現が使えるソフトかなんらかのスクリプトなどが
ないと意味ないぞ。
■ このスレッドは過去ログ倉庫に格納されています