正規表現 part 3

このエントリーをはてなブックマークに追加
935デフォルトの名無しさん:2007/07/16(月) 00:01:42
>>933
まいっちんぐしない文字列を痴漢するときはどうするんだい?
936デフォルトの名無しさん:2007/07/16(月) 00:18:35
というか、1文字の入力から状態遷移を繰り返してるから
入力から遷移先が決まらないものはダメなんじゃねえの
937デフォルトの名無しさん:2007/07/16(月) 00:38:03
[^hoge]
938デフォルトの名無しさん:2007/07/16(月) 00:38:19
正規言語の補集合も正規言語だから、!(正規表現)みたいのが
なくても書けるので不要ということだろうな。でも与えられた
正規表現が受理する言語の補集合を受理する正規表現を書くのは
大変なので、そういうシンタックスシュガーがあれば便利かも?


939デフォルトの名無しさん:2007/07/16(月) 00:47:15
grep -v 'regexp'
940デフォルトの名無しさん:2007/07/16(月) 00:52:00
>>938
意味がわかりません。
941デフォルトの名無しさん:2007/07/16(月) 00:58:26
>>940
自分の無知を偉そうに自慢されても私たちに出来る事は何も有りません
942デフォルトの名無しさん:2007/07/16(月) 01:03:39
>>934
確かに

> ・文法はPerl5互換(これまでと同じ)

って書いてあるけど

> Windows/IE付属のRegExpオブジェクトに変更
> ・環境の問題でWSHが使えない場合は

とも書いてあるので、細かいところまで Perl 互換かはちょっと怪しいな。

とりあえず
http://tehen.hp.infoseek.co.jp/abone/abone.html
によると、

/切れ([るたす、]|(てん))[^レ][^ス]/

あたりは動きそう。

(行末とかが "切れる" とかなってるとちょっと不味いかも...。)
943デフォルトの名無しさん:2007/07/16(月) 01:10:31
>>941
小難しい単語並べりゃいいってもんじゃないんだよ。

>正規言語の補集合も正規言語だから、!(正規表現)みたいのが
>なくても書けるので不要ということだろうな。

書いてみろ。

この作業が酷く大変なら、そういうシンタクスシュガーが無い理由もわかるだろ。
944デフォルトの名無しさん:2007/07/16(月) 01:29:25
なんちゅう詭弁
945デフォルトの名無しさん:2007/07/16(月) 01:29:33
>>943
特定文字列が含まれてるかどうか調べるなら
if( $pero =~ /kari/ ){print "バーロー\n";}

含まれていないことを調べるならその補集合で
if( !($pero =~ /kari/) ){print "ローバー\n";}

ってことを言っただけでしょ?
これだけじゃ超えられない表現もいっぱあるけどさ
946・∀・)っ-○◎●:2007/07/16(月) 03:13:12
クイックハックでパターンの先頭に1個「!」があれば否定にするようにしたことあったな。
実現方法は後察しの通り。
947デフォルトの名無しさん:2007/07/16(月) 06:55:18
if( $pero !~ /kari/ ){print "バーロー\n";}
948デフォルトの名無しさん:2007/07/16(月) 07:19:42
団子って何歳?
949デフォルトの名無しさん:2007/07/16(月) 09:26:50
たしか40代だったな
950・∀・)っ-○◎●:2007/07/16(月) 15:21:25
永遠の12歳だお
951デフォルトの名無しさん:2007/07/16(月) 22:51:37
36進法で。
952糾 ◆OlivettiFg :2007/07/17(火) 23:14:00
>>950
人間のトシに換算すると(ry
953・∀・)っ-○◎●:2007/07/17(火) 23:22:46
縦読み厨うざい
954デフォルトの名無しさん:2007/07/19(木) 00:36:58
print "バーロー\n" unless( $pero =~ /kari/ );
955デフォルトの名無しさん:2007/07/25(水) 17:23:43
ここに書き込むのは気が引けるほどの、ど初心者なのですが質問させてください。

FirefoxのSearchBox Syncというアドオンを使っています。
これは検索した文字列を検索ボックスに自動的に挿入させるアドオンです。

これで適用させるサイトを増やしたくて、正規表現を見始めました。
そこで本題なのですが、

^http://www\.amazon\.com?\.?(\w+)?/.*keywords=([^&]+)

amazon.*keywords=([^&]+)

では、どちらも検索語句を抽出できますが、どちらの記述の方がスマートな記述なのでしょうか?

なお、最後尾のグループに入る文字列が検索ボックスに挿入されます。
956デフォルトの名無しさん:2007/07/25(水) 19:08:55
どちらがスマートかというより、上のほうが厳密で、下のほうは緩やか。
例えば下のだとamazon.co.jpのほうもマッチします。
957デフォルトの名無しさん:2007/07/25(水) 22:10:23
>>956
上のも co.jp にマッチするというかマッチさせたいという話じゃないのかな?
958デフォルトの名無しさん:2007/07/25(水) 23:29:47
YouTubeのIDだけをとりだしてみたいんだけど
できるGUYいる?

このパターンを
http://jp.youtube.com/watch?v=GUUxY6mJ2es
http://youtube.com/watch?v=GUUxY6mJ2es
http://www.youtube.com/watch?v=GUUxY6mJ2es

こんなかんじ
GUUxY6mJ2es
959デフォルトの名無しさん:2007/07/25(水) 23:37:41
できるよ

分かったら後は自力で頑張れ
960デフォルトの名無しさん:2007/07/25(水) 23:39:29
>>959
レスありがとな!
今「サルでもわかる正規表現」ってサイト読んでるぜ!
961デフォルトの名無しさん:2007/07/26(木) 10:52:33
&または行末 というつもりで[&$]と書いてもうまくいかない
962デフォルトの名無しさん:2007/07/26(木) 10:58:14
行末は文字じゃないから
963デフォルトの名無しさん:2007/07/26(木) 11:04:53
>>962
&または行末 という表現はどうかけばいい?
964デフォルトの名無しさん:2007/07/26(木) 12:02:58
(&|$)
965デフォルトの名無しさん:2007/07/26(木) 13:02:34
>>950
次スレはテンプレに「質問する香具師は実装言語・処理系を言え」を加えて立てといて。
よろしく。
966デフォルトの名無しさん:2007/07/26(木) 13:23:00
()が必要なのか・・・無しで書きたいな・・・
967デフォルトの名無しさん:2007/07/26(木) 13:32:33
なんで?
968デフォルトの名無しさん:2007/07/26(木) 13:47:42
いや、なんでもない
?=を使えばいいのを忘れてた
969デフォルトの名無しさん:2007/07/26(木) 22:08:56
そんなに正規表現による検索って需要あるのか??
だとしたら、俺のソフトにも追加してやるか。
970デフォルトの名無しさん:2007/07/26(木) 22:17:44
いや、お前のには要らない。
971デフォルトの名無しさん:2007/07/27(金) 00:28:35
そもそもお前のソフトが要らない
972デフォルトの名無しさん:2007/07/27(金) 00:56:37
お前もいらない
973デフォルトの名無しさん:2007/07/27(金) 09:41:15
俺もいらない
974デフォルトの名無しさん:2007/07/27(金) 09:59:45
俺にはお前が必要
975デフォルトの名無しさん:2007/07/27(金) 12:12:38
いらないのは俺だけ
976デフォルトの名無しさん:2007/07/27(金) 21:17:33
おらだけいらね
とりなしてくだせ
977デフォルトの名無しさん:2007/07/28(土) 14:46:07
文章から特定の単語以外をすべて空文字に置換することはできますか?
978デフォルトの名無しさん:2007/07/28(土) 15:38:23
>>977
できるかもしれないが、まずは >>965 で。
979977:2007/07/28(土) 15:40:46
すいません。

サクラエディターもしくはEclipseのテキストエディターでできれば、と思います。
980デフォルトの名無しさん:2007/07/28(土) 15:40:45
そのへん言わないやつらは全員perl準拠だと思えばいいよ
違う環境だったら死ねと言えば済むこと。
981デフォルトの名無しさん:2007/07/28(土) 17:49:23
>>979
死ね
982デフォルトの名無しさん:2007/07/28(土) 18:22:22
>>979
死ね
983デフォルトの名無しさん:2007/07/29(日) 00:19:13
ヒドスw
まあ、結論だけ言うと出来ないよ。>>977
984デフォルトの名無しさん
サクラエディタマクロでWindowsSriptで否定の先読みが使ってやれ。
空文字ならnul文字だな。\c@だ。