探検
正規表現
■ このスレッドは過去ログ倉庫に格納されています
1正規表現
NGNG 正規表現
2終了
NGNG 終了
NGNG
/\s*終\s*了\s*/
NGNG
oreillyの本読めば全てに限りなく近く分る。よって終了。
5名無しさん@お腹いっぱい。
NGNG 板地害
NGNG
釣り合いの取れた括弧にマッチする正規表現を教えてください。
()
((()))
((((()))))
(()())
((())(()()))
()
((()))
((((()))))
(()())
((())(()()))
NGNG
正規表現ってFAだけで実装してるの?PDAも使うの?
NGNG
NGNG
(・)(・)
. .) (
( Y )
. .) (
( Y )
11性器表現
NGNG 性器表現
NGNG
限界までgrepやればいい気持ち
NGNG
正則表現って訳してる本無かったっけ?
NGNG
詳説正規表現に正則表現という言葉が出てきた気がする
15はにゃーん☆ ◆ZoWSAKURAw
NGNG >>7
Perl 5.6 以降なら、可能。
#! /usr/local/bin/perl
@kakko = qw[()
())
((()))
(()()))
((((()))))
(()())
((())(()()))];
$regex = qr/[^()]*\((??{$regex})*\)[^()]*/;
foreach (@kakko) {
if(/^$regex$/) {
print "Match: $_\n";
} else {
print "Unmatch: $_\n";
}
}
Perl 5.6 以降なら、可能。
#! /usr/local/bin/perl
@kakko = qw[()
())
((()))
(()()))
((((()))))
(()())
((())(()()))];
$regex = qr/[^()]*\((??{$regex})*\)[^()]*/;
foreach (@kakko) {
if(/^$regex$/) {
print "Match: $_\n";
} else {
print "Unmatch: $_\n";
}
}
NGNG
でも、それ正規表現じゃないんじゃないの?
文脈自由文法のクラスでしょ?
文脈自由文法のクラスでしょ?
NGNG
それ言ったら、今の「正規表現」なんてそもそもの定義から外れちゃうような気がするぞ。
NGNG
数学的文脈におけるいわゆる「正則な表現」だけで括弧の釣り合いにマッチさせるスレはここですか?
NGNG
ここは既に終了したスレです。
NGNG
いやん、正規表現がんばろー。
16>>
拡張正規表現で納得しろ。
16>>
拡張正規表現で納得しろ。
NGNG
そもそも正規言語は数をかぞえられないんだから、
拡張正規表現でもないでしょ。
拡張正規表現でもないでしょ。
NGNG
拡張正規表現 = 「正規表現」の定義を拡張。;)
NGNG
24名無しさん@お腹いっぱい。
NGNG /^(U).\/*&_$&&*_@&(&*@+|@_(@)(?!<>)_##[o-Q](.*O+)&^&%^#)#+#$/
25おむこさん志望 ◆QtGqCwfDSA
NGNG いま glibc のマルチバイト回りをやってる人が書いたドキュメント
http://lc.linux.or.jp/lc2001/papers/dfa-i18n-paper.pdf
http://lc.linux.or.jp/lc2002/papers/hasegawa0918h.pdf
>>13
オートマトンで有名な本
http://www.saiensu.co.jp/books-htm/ISBN4-7819-0374-6.htm
には正則表現って書いてあった。
http://lc.linux.or.jp/lc2001/papers/dfa-i18n-paper.pdf
http://lc.linux.or.jp/lc2002/papers/hasegawa0918h.pdf
>>13
オートマトンで有名な本
http://www.saiensu.co.jp/books-htm/ISBN4-7819-0374-6.htm
には正則表現って書いてあった。
26名無しさん@お腹いっぱい。
NGNG ttp://sorekika.com/dame.jsp?idx=352
27名無しさん@お腹いっぱい。
NGNG question = ( to ) ? be : ! be;
-- Wm. Shakespeare
-- Wm. Shakespeare
28性器表現
NGNG 凸
29山崎渉
NGNG (^^)
30名無しさん@お腹いっぱい。
NGNG 質問よいでしょうか・・・
英辞郎の読み仮名を削除したいのですが、
{(←全角です)ではじまり}(←これも全角です)でおわる文字列を
ごっそり置換したいのですが、どう表現すればいいのかよく
わかりません・・・・ おしえてくださいおながいします
英辞郎の読み仮名を削除したいのですが、
{(←全角です)ではじまり}(←これも全角です)でおわる文字列を
ごっそり置換したいのですが、どう表現すればいいのかよく
わかりません・・・・ おしえてくださいおながいします
NGNG
>>30
処理系は何?
処理系は何?
NGNG
33名無しさん@お腹いっぱい。
NGNG >>32
その解は1行に複数の対が出てきたときに破綻する
その解は1行に複数の対が出てきたときに破綻する
NGNG
3530
NGNG >>31
Windowsなんですよね・・・xyzzyの置換使おうかと思ってたんですが
あ、Pythonも使い方よくわからないけど(汗汗)入ってます
# Pythonだとどうかくんですかね??
ダメだったらCygwinでも入れてやってみようと思います。
皆様有難う御座います。
Windowsなんですよね・・・xyzzyの置換使おうかと思ってたんですが
あ、Pythonも使い方よくわからないけど(汗汗)入ってます
# Pythonだとどうかくんですかね??
ダメだったらCygwinでも入れてやってみようと思います。
皆様有難う御座います。
NGNG
秀丸の置換使えば?
37名無しさん@お腹いっぱい。
NGNG perlぐらいうごかん?
38あぼーん
NGNGあぼーん
40あぼーん
NGNGあぼーん
NGNG
BNF使え
42エディタ何617
NGNG http://pc2.2ch.net/test/read.cgi/software/1040201710/641-643
より移行してきますた。
正規表現の話はこっちでしましょ。
俺には大した知識はないんだが。
>642 :名無しさん@お腹いっぱい。 mailto:[sage] :03/02/21 15:28 ID:esOQbptZ
>なんのために [:alpha:] のような書式があるのかと子一時間
これは知らんかった。
テキストエディタの粋を脱しそうだが。
より移行してきますた。
正規表現の話はこっちでしましょ。
俺には大した知識はないんだが。
>642 :名無しさん@お腹いっぱい。 mailto:[sage] :03/02/21 15:28 ID:esOQbptZ
>なんのために [:alpha:] のような書式があるのかと子一時間
これは知らんかった。
テキストエディタの粋を脱しそうだが。
43エディタ何617
NGNG >643 :名無しさん@お腹いっぱい。 mailto:[sage] :03/02/21 15:31 ID:+tcoIlhs
>>>641
>文字クラスが文字コードに依存するって言うのは恥ずかしいことでしかないと思うんだが。
>どんなコードでも入力が同一なら出力も同一であるべきじゃないの?
後半はよくわからんが、文字クラスが文字コードに依存するのは当然のことだと思うぞ。
文字 a は a というアルファベットという意味があるわけではなく単なるコード(0x61)なわけ。
テキストエディタでは普段から文字コードなんて考える必要はないんだけど、
正規表現では [a-z] とすると
Shift-JISなら [\x61-\x7A]
EBCDICなら [\x81-\xA9]
というふうに変わってくる。
当然文字コードに依存する。
ここで文字コードに依存せずに認識するとなると、EBCDICの場合
[a-z]=[\x81-\x89\x91-\x99\xA2-\xA9]
になってしまって本来の [\x81-\xA9] にはならなくなってしまう。
そのために 642 のような [:alpha:] なんかが用意されている。
さもなければ文字コード共通正規表現用文字テーブルなんてものが必要になりかねない。
テキストエディタで扱う文字コードとして EBCDIC を例に出すのは適当ではないが。
エディタがしているのは文字コードを認識して表示するということで、
文字コードを変換しているわけではない。
もちろん明示的に変換(文字コードを変更して保存等)すれば変わる。
>>>641
>文字クラスが文字コードに依存するって言うのは恥ずかしいことでしかないと思うんだが。
>どんなコードでも入力が同一なら出力も同一であるべきじゃないの?
後半はよくわからんが、文字クラスが文字コードに依存するのは当然のことだと思うぞ。
文字 a は a というアルファベットという意味があるわけではなく単なるコード(0x61)なわけ。
テキストエディタでは普段から文字コードなんて考える必要はないんだけど、
正規表現では [a-z] とすると
Shift-JISなら [\x61-\x7A]
EBCDICなら [\x81-\xA9]
というふうに変わってくる。
当然文字コードに依存する。
ここで文字コードに依存せずに認識するとなると、EBCDICの場合
[a-z]=[\x81-\x89\x91-\x99\xA2-\xA9]
になってしまって本来の [\x81-\xA9] にはならなくなってしまう。
そのために 642 のような [:alpha:] なんかが用意されている。
さもなければ文字コード共通正規表現用文字テーブルなんてものが必要になりかねない。
テキストエディタで扱う文字コードとして EBCDIC を例に出すのは適当ではないが。
エディタがしているのは文字コードを認識して表示するということで、
文字コードを変換しているわけではない。
もちろん明示的に変換(文字コードを変更して保存等)すれば変わる。
NGNG
>文字クラスが文字コードに依存するって言うのは恥ずかしいことでしかないと思うんだが。
そりゃ確かに恥ずかしい。
でも [a-z] という表記が「小文字アルファベットの文字クラスを指定している」ものだと誤解して、
誤用しているほうがもっと恥ずかしい。
「-」を使った表記は文字コード上で連続した複数の文字を意味しているだけだから、
本当に文字クラスを指定しなければならないシーンでは [:lower:] や \l を使うべき。
代表的なエンコーディングでは偶然文字コードが連続しているから
[a-z] で期待した動作になるので常用されているの。
そりゃ確かに恥ずかしい。
でも [a-z] という表記が「小文字アルファベットの文字クラスを指定している」ものだと誤解して、
誤用しているほうがもっと恥ずかしい。
「-」を使った表記は文字コード上で連続した複数の文字を意味しているだけだから、
本当に文字クラスを指定しなければならないシーンでは [:lower:] や \l を使うべき。
代表的なエンコーディングでは偶然文字コードが連続しているから
[a-z] で期待した動作になるので常用されているの。
NGNG
[:alpha:] とかってウムラウトがどうたらとかいう話のためにあるのだと思ってた
NGNG
unicode などが本格的に使われ出して
多国語があたり前になったら
[:Japanese:] とか [:Korean:] とか
できるのかな。
多国語があたり前になったら
[:Japanese:] とか [:Korean:] とか
できるのかな。
NGNG
>>45
その通り。 POSIX ではロケールによって変わるよ。
その通り。 POSIX ではロケールによって変わるよ。
48テキ何618
NGNG 興味があるので誘導されてきました。
ってココは関連Linkないので張るね。
●正規表現最新リンク集2003
ttp://www2.famille.ne.jp/~akio1998/l_grep.html
●正規表現メモ
ttp://www.kt.rim.or.jp/~kbk/regex/regex.html
で向こうのスレでの疑問で思ってたんですが、
| また正規表現の正しい、正しくないってあるのか?
上の引用についてずばり解決してくれる神はおられませんか?
向こうでも思ってたんだけど中途半端な正規化だから文字コードに
依存するって思ってたんですが。
ってココは関連Linkないので張るね。
●正規表現最新リンク集2003
ttp://www2.famille.ne.jp/~akio1998/l_grep.html
●正規表現メモ
ttp://www.kt.rim.or.jp/~kbk/regex/regex.html
で向こうのスレでの疑問で思ってたんですが、
| また正規表現の正しい、正しくないってあるのか?
上の引用についてずばり解決してくれる神はおられませんか?
向こうでも思ってたんだけど中途半端な正規化だから文字コードに
依存するって思ってたんですが。
NGNG
>>44
>本当に文字クラスを指定しなければならないシーンでは
> [:lower:] や \l を使うべき。
つーことは[B-Yb-y]は本当に文字クラスを指定せんといかんシーンでは
[BCDEFGHIJKLMNOPQRSTUVWXYbcdefghijklmnopqrstuvwxyz]
あるいは
[^AZaz[:digit:](憶えとらんので略)]
と書かねばならんわけか…
>本当に文字クラスを指定しなければならないシーンでは
> [:lower:] や \l を使うべき。
つーことは[B-Yb-y]は本当に文字クラスを指定せんといかんシーンでは
[BCDEFGHIJKLMNOPQRSTUVWXYbcdefghijklmnopqrstuvwxyz]
あるいは
[^AZaz[:digit:](憶えとらんので略)]
と書かねばならんわけか…
NGNG
[:alpha:] とかって、実際に実装されてるのあるの?
NGNG
>>48
ある正規表現が書かれた目的を果たせるかどうかで、正しい正しくないを言うことはで
きるでしょう。ただし目的を果たすといっても厳密でなければならない場合やアバウト
で大丈夫な場合と様々なレベルがあるわけで、ケースに応じて使い分けるのが大人とい
うものです。
それから正規化しているから正規表現というわけじゃないです。ある有限オートマトン
が受理する特定の言語(記号列)を正規言語と呼び、その受理される言語の全ての集合を
正規集合と呼び、その集合を表現する方法を正規表現と呼んでいるのです。文字コード
云々が問題になるのは、SJISやEUCのようなマルチバイトコードで表現された1文字を1
つの記号として認識しない正規表現エンジンがあるからで、またエンジンが認識する場
合でも利用者側が記号としての文字と文字コードとの関係を、[a-zA-Z] と [:alpha:]
のようにゴッチャにしているからです。もっとも後者についてはマルチバイトには依存
しない話ですけれど。
>>49
厳密にはそういうことになります。メンドイのでそこまでする人は少ないでしょうが。
ある正規表現が書かれた目的を果たせるかどうかで、正しい正しくないを言うことはで
きるでしょう。ただし目的を果たすといっても厳密でなければならない場合やアバウト
で大丈夫な場合と様々なレベルがあるわけで、ケースに応じて使い分けるのが大人とい
うものです。
それから正規化しているから正規表現というわけじゃないです。ある有限オートマトン
が受理する特定の言語(記号列)を正規言語と呼び、その受理される言語の全ての集合を
正規集合と呼び、その集合を表現する方法を正規表現と呼んでいるのです。文字コード
云々が問題になるのは、SJISやEUCのようなマルチバイトコードで表現された1文字を1
つの記号として認識しない正規表現エンジンがあるからで、またエンジンが認識する場
合でも利用者側が記号としての文字と文字コードとの関係を、[a-zA-Z] と [:alpha:]
のようにゴッチャにしているからです。もっとも後者についてはマルチバイトには依存
しない話ですけれど。
>>49
厳密にはそういうことになります。メンドイのでそこまでする人は少ないでしょうが。
52エディタ何617
NGNG | また正規表現の正しい、正しくないってあるのか?
俺なんかの知識じゃたいしたこと言えないが、現在においては統一的な正しさなんて無いと思う。
ものによって実装が違うから、egrepでは正しくedでは正しくないとかあろうね。
使い手が自分で何をしようとしているのか理解できているかどうかが問題になりそう。
Q「s/[A-z]//g としたら[や^まで消えてしまいました。この正規表現は間違っていますか?」
A「正規表現もパターンマッチの結果も正しいです。ただ、あなたの求めている正規表現ではないでしょう。」
>向こうでも思ってたんだけど中途半端な正規化だから文字コードに
>依存するって思ってたんですが。
エディタは文字コードを勝手に認識してくれるからユーザーが考える必要はないけど、
文字クラスで[a-z]とかやる場合はどうしたって文字というより文字コードを扱うってことになる。
ただ、普通は上に書いたように[A-z]なんてやる奴はいないだろうから、
実質的には文字コードに依存していないかのように扱えるというだけだと思う。
ところで [a-z] として、これがどういう意味であって欲しいんでしょうか?
俺なんかの知識じゃたいしたこと言えないが、現在においては統一的な正しさなんて無いと思う。
ものによって実装が違うから、egrepでは正しくedでは正しくないとかあろうね。
使い手が自分で何をしようとしているのか理解できているかどうかが問題になりそう。
Q「s/[A-z]//g としたら[や^まで消えてしまいました。この正規表現は間違っていますか?」
A「正規表現もパターンマッチの結果も正しいです。ただ、あなたの求めている正規表現ではないでしょう。」
>向こうでも思ってたんだけど中途半端な正規化だから文字コードに
>依存するって思ってたんですが。
エディタは文字コードを勝手に認識してくれるからユーザーが考える必要はないけど、
文字クラスで[a-z]とかやる場合はどうしたって文字というより文字コードを扱うってことになる。
ただ、普通は上に書いたように[A-z]なんてやる奴はいないだろうから、
実質的には文字コードに依存していないかのように扱えるというだけだと思う。
ところで [a-z] として、これがどういう意味であって欲しいんでしょうか?
NGNG
[a-z]
"a"の文字コードから"z"の文字コードまでの文字コードの文字のことかな
"a"の文字コードから"z"の文字コードまでの文字コードの文字のことかな
54テキ何618
NGNG >51,52
すまん質問の仕方が悪かった。
上で正規表現の仕様が悪いみたいな雰囲気があったから疑問に
おもったんですが、たとえば「grepの仕様は正しいが、awkの仕様は
間違ってる」みたいな正規表現の仕様上の問題で間違いというのが
あるのかという疑問でした。
>[a-z]
その正規表現で規定されているaのキャラクタからzのキャラクタまで。
文字コードでも文字でもないはずだ。
たとえばProxomitronなら[a-zA-Z]と同じようになるようにキャラクタの
並びが規定されている。
すまん質問の仕方が悪かった。
上で正規表現の仕様が悪いみたいな雰囲気があったから疑問に
おもったんですが、たとえば「grepの仕様は正しいが、awkの仕様は
間違ってる」みたいな正規表現の仕様上の問題で間違いというのが
あるのかという疑問でした。
>[a-z]
その正規表現で規定されているaのキャラクタからzのキャラクタまで。
文字コードでも文字でもないはずだ。
たとえばProxomitronなら[a-zA-Z]と同じようになるようにキャラクタの
並びが規定されている。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- たぬかな、結婚していた SNSで報告 生配信では入籍時期も説明 祝福殺到「おめでとう!」「幸あれ」 [muffin★]
- 自民 国会議員の歳費 月額5万円引き上げ 今国会での成立目指す [どどん★]
- 「クラウンに乗りたかった」東京・足立の車暴走 男性、容疑を否認★2 [七波羅探題★]
- 東京・足立区の盗難車死亡ひき逃げ事件 11人死傷のうち死亡した男女の身元を発表 80代の男性と20代フィリピン国籍の女性 警視庁 [どどん★]
- 相次ぐ中国公演中止に、シンガーソングライターらが続々高市首相に怒り表明「隣国の仲間たちに対して申し訳ない」★3 [muffin★]
- 「営業妨害ですよ」小野田紀美氏、銀色ドレス揶揄に怒りをあらわ [バイト歴50年★]
- ド、ド、ド リ フ の
- ライブアライブの功夫編www
- 【動画】慶應准教授の有野氏、高市答弁の問題点を理路整然と指摘しまいネトウヨ発狂wwwwwwwwwwww [271912485]
- お前らっていい匂いするよな
- なんか寝れないのでウマ娘の雑談とか募集
- 機械に疎いのほんと大変
