正規表現
■ このスレッドは過去ログ倉庫に格納されています
1正規表現
NGNG 正規表現
444名無しさん@お腹いっぱい。
NGNG Perlの場合、
$_ = "いっぱい";
s/い/お/; # おっぱい
s/い/お/g; # おっぱお
ということでおk?
$_ = "いっぱい";
s/い/お/; # おっぱい
s/い/お/g; # おっぱお
ということでおk?
NGNG
_ ∩
( ゚∀゚)彡 おっぱい!おっぱお!
⊂彡
( ゚∀゚)彡 おっぱい!おっぱお!
⊂彡
NGNG
小学生のころ流行ったネタ
NGNG
性器表現
NGNG
ワロテモータ
NGNG
さんざん概出なのに・・・
NGNG
.*
452ウサチャソ
NGNG ↑アナルは性器じゃねーよな、とか思ってよく見ると、ドット米。
イボ痔か?
イボ痔か?
NGNG
>>452
拭き忘れたウンチだよ。きっと!
拭き忘れたウンチだよ。きっと!
454名無しさん@お腹いっぱい。
NGNG regexp
NGNG
rege*p
NGNG
正規表現で複数の単語の中に「/」があるときにヒットさせたいんですが
echo "hoge / hoge" | grep "\</\>"
でだめでした・・。だれか修正をお願いしますorz
echo "hoge / hoge" | grep "\</\>"
でだめでした・・。だれか修正をお願いしますorz
NGNG
458456
NGNG >>457
複数の単語の中で、"/"のみで構成される単語が存在する場合のみ
ヒットさせたいのです
つまり
a b c / d
上記ようなときで下記のどの事象にもヒットさせたくはないのです
// /a a/ a/a
複数の単語の中で、"/"のみで構成される単語が存在する場合のみ
ヒットさせたいのです
つまり
a b c / d
上記ようなときで下記のどの事象にもヒットさせたくはないのです
// /a a/ a/a
NGNG
NGNG
まことに勝手ながらこちらで続けさせてください
質問を改めます
やりたいことは
-----------------------
1) echo "/" | grep ......
2) echo "/ a b" | grep ......
3) echo "a b /" | grep ......
4) echo "/a / b/" | grep ......
-----------------------
上ですべてマッチさせて
以下はすべてはじくようにしたいのです
-----------------------
5) echo "//" | grep ......
6) echo "// /// ////" | grep ......
7) echo "/a b/ /c/" | grep ......
-----------------------
上と下の違いは、前後にスペースを含む" / "が存在するか否かです
よって以下のように考えましたが、ヒットしませんでした
echo "a / b"|grep "\</\>"
echo "a / b"|grep "\<\/\>"
どなたか修正をおねがいしますorz
質問を改めます
やりたいことは
-----------------------
1) echo "/" | grep ......
2) echo "/ a b" | grep ......
3) echo "a b /" | grep ......
4) echo "/a / b/" | grep ......
-----------------------
上ですべてマッチさせて
以下はすべてはじくようにしたいのです
-----------------------
5) echo "//" | grep ......
6) echo "// /// ////" | grep ......
7) echo "/a b/ /c/" | grep ......
-----------------------
上と下の違いは、前後にスペースを含む" / "が存在するか否かです
よって以下のように考えましたが、ヒットしませんでした
echo "a / b"|grep "\</\>"
echo "a / b"|grep "\<\/\>"
どなたか修正をおねがいしますorz
NGNG
462456
NGNG ↑修正します
修正前)上と下の違いは、前後にスペースを含む" / "が存在するか否かです
修正後)上と下の違いは、単語 / が存在するか否かです
修正前)上と下の違いは、前後にスペースを含む" / "が存在するか否かです
修正後)上と下の違いは、単語 / が存在するか否かです
NGNG
NGNG
>>462
「単語」とは?
「単語」とは?
465名無しさん@お腹いっぱい。
NGNG ブラケットの中でピリオドを入れる時ってメタキャラクタとして扱われますか?
[\w.]
と
[\w\.]
が同じ動きにになるみたいなんですけど・・・。
ちなみに、パールです。
[\w.]
と
[\w\.]
が同じ動きにになるみたいなんですけど・・・。
ちなみに、パールです。
NGNG
>>465
「みたい」じゃなくてテストコードで示してよ。
「みたい」じゃなくてテストコードで示してよ。
NGNG
どの言語の正規表現がどんな有限オートマトン使ってるという情報って
どこかにありますかねぇ。正規表現コンバータ作ろうかと思ってるのですが。。
NFA、DFAの違いぐらいは詳説正規表現の本でわかるのですが、実装ともなると。
オートマトンの変換に関してはコンパイラの本を参考にしてますが、
やはりかなりつらいものがありますね。たんに字句解析して作った方がいいのかなぁ。
どこかにありますかねぇ。正規表現コンバータ作ろうかと思ってるのですが。。
NFA、DFAの違いぐらいは詳説正規表現の本でわかるのですが、実装ともなると。
オートマトンの変換に関してはコンパイラの本を参考にしてますが、
やはりかなりつらいものがありますね。たんに字句解析して作った方がいいのかなぁ。
NGNG
普通にNFA+DFAでいいじゃん
NGNG
オブジェクト指向正規表現の仕様策定はまだですか?
NGNG
NGNG
>>469
まかせた。
まかせた。
472名無しさん@お腹いっぱい。
NGNG お前らWinの.NETなんだが正規表現の質問をさせてくれ。
RegularExpressions.Regexで下の文字列を検索して<TD>から</TD>に分けたい。
string strHtml = "<TD>a</TD><TD>b</TD><TD>c</TD>"
Regex regex = Regex("<TD>.*</TD>");
MatchCollection matchcollection = regex.Matches(strHtml);
だと最長一致で "<TD>a</TD><TD>b</TD><TD>c</TD>"の1つのコレクション取得。
Regex regex = Regex("<TD>.*?</TD>");
だとやりたい "<TD>a</TD>", "<TD>b</TD>","<TD>c</TD>"の3つのコレクションが取得できる。
.*? の意味をアフォにも分かるように説明してくれ。
.*(任意の0文字以上)が?(あるかないか)だろ。
なんで思った通りに3つのコレクションが取得できるの?
RegularExpressions.Regexで下の文字列を検索して<TD>から</TD>に分けたい。
string strHtml = "<TD>a</TD><TD>b</TD><TD>c</TD>"
Regex regex = Regex("<TD>.*</TD>");
MatchCollection matchcollection = regex.Matches(strHtml);
だと最長一致で "<TD>a</TD><TD>b</TD><TD>c</TD>"の1つのコレクション取得。
Regex regex = Regex("<TD>.*?</TD>");
だとやりたい "<TD>a</TD>", "<TD>b</TD>","<TD>c</TD>"の3つのコレクションが取得できる。
.*? の意味をアフォにも分かるように説明してくれ。
.*(任意の0文字以上)が?(あるかないか)だろ。
なんで思った通りに3つのコレクションが取得できるの?
473472
NGNG *? つーのは最短一致という便利なキーワードなのか。
つまらん質問失礼しますた。
つまらん質問失礼しますた。
474名無しさん@お腹いっぱい。
NGNG 下がってるので、どれ一つ、とんちでも。
rubyでは
/aa+??/ =~ "a" => 0
emacsでは
"aa+??" =~ "a" => nil
さて、こうなってしまうのは、各々がどのようなオートマトンで
解釈されているからでしょうか。
rubyでは
/aa+??/ =~ "a" => 0
emacsでは
"aa+??" =~ "a" => nil
さて、こうなってしまうのは、各々がどのようなオートマトンで
解釈されているからでしょうか。
NGNG
emacsって最短マッチあんの?
NGNG
ありましゅよー
ttp://www.cs.huji.ac.il/support/emacs/elisp-help/elisp-manref/elisp_34.html
でも、{m,n}? の最短マッチはないみたい…。
ttp://www.cs.huji.ac.il/support/emacs/elisp-help/elisp-manref/elisp_34.html
でも、{m,n}? の最短マッチはないみたい…。
NGNG
最短マッチに対応した grep ってある?
NGNG
>>477
grep が最短マッチに対応してるかどうかが問題になるケースってある?
grep が最短マッチに対応してるかどうかが問題になるケースってある?
05/01/30 22:46:31
[^ま]*まってかくのめんどくさい
480名無しさん@お腹いっぱい。
05/02/26 05:47:57 あげ
481名無しさん@お腹いっぱい。
2005/03/30(水) 02:33:49 up
2005/04/19(火) 17:08:07
正規表現の実装っていろいろあることにやっと気づいた漏れorz
2005/05/14(土) 15:12:25
ほしゅ
484名無しさん@お腹いっぱい。
2005/05/16(月) 16:51:45 abc xyzをaxbyczにしたいのですが
2005/05/16(月) 17:05:02
s/abc xyz/axbycz/g
2005/05/16(月) 19:33:57
ワロタ
2005/05/16(月) 19:34:25
保守
488名無しさん@お腹いっぱい。
2005/05/17(火) 22:45:20 >>484
echo abc xyz |sed -e "s/^/%/; :ll; s/[%]\(.\)\(.*\) \(.\)\(.*\)/\1\3%\2 \4/; tll; s/%//;"
echo abc xyz |sed -e "s/^/%/; :ll; s/[%]\(.\)\(.*\) \(.\)\(.*\)/\1\3%\2 \4/; tll; s/%//;"
2005/05/18(水) 00:13:40
うひょー
2005/05/28(土) 03:19:18
うに厨として、% をめぐる動きに溜息出た…真剣にありがと 何重にも目が覚めた
2005/05/28(土) 05:32:41
abc xyz でも
abcdefg ABCDEFG でもできるね。すげーや。
abcdefg ABCDEFG でもできるね。すげーや。
2005/06/04(土) 23:07:23
('A`)
2005/06/19(日) 02:53:08
Onigurumaを使っているんですが、
あるテキストデータがあります。
----- ここから
END
注釈 ○○○
注意 △△△
補足 ◎◎◎
TITLE
----- ここまで
という部分の、ENDの後の空白行からTITLEの前の空白行の部分(間の行)を削除して、
ENDとTITLEの間は1行だけの空白行にしたいです。
「END\s^[0-9a-zA-Z。-゜ぁ-んァ-ヶ亜-?]*\sTITLE」を指定してもマッチしないんですが、
これは私の正規表現の式が間違えているんでしょうか?
(複数行を1度に選択する方法を間違えている???)
あるテキストデータがあります。
----- ここから
END
注釈 ○○○
注意 △△△
補足 ◎◎◎
TITLE
----- ここまで
という部分の、ENDの後の空白行からTITLEの前の空白行の部分(間の行)を削除して、
ENDとTITLEの間は1行だけの空白行にしたいです。
「END\s^[0-9a-zA-Z。-゜ぁ-んァ-ヶ亜-?]*\sTITLE」を指定してもマッチしないんですが、
これは私の正規表現の式が間違えているんでしょうか?
(複数行を1度に選択する方法を間違えている???)
2005/06/19(日) 03:13:31
2005/07/13(水) 09:25:56
素直に、
~s/END(\s*.*?\s*)TITLE/END\n\nTITLE/sg;
じゃダメ?
~s/END(\s*.*?\s*)TITLE/END\n\nTITLE/sg;
じゃダメ?
2005/07/13(水) 13:15:24
>>496
Oniguruma の質問なわけだが?
Oniguruma の質問なわけだが?
2005/07/13(水) 17:54:26
…とは思ったのだが、Perl 互換らしーから、いーかなとw
てか、見つかるのむちゃくちゃ早いなww
事後ながら、oniguruma (ライブラリ)取りに行った
てか、見つかるのむちゃくちゃ早いなww
事後ながら、oniguruma (ライブラリ)取りに行った
2005/07/13(水) 19:58:46
2005/07/17(日) 23:17:41
>494
> 「END\s^[0-9a-zA-Z。-゜ぁ-んァ-ヶ亜-?]*\sTITLE」を指定してもマッチしないんですが、
> これは私の正規表現の式が間違えているんでしょうか?
> (複数行を1度に選択する方法を間違えている???)
これのどこが、複数行を一度に選択しているの?
> 「END\s^[0-9a-zA-Z。-゜ぁ-んァ-ヶ亜-?]*\sTITLE」を指定してもマッチしないんですが、
> これは私の正規表現の式が間違えているんでしょうか?
> (複数行を1度に選択する方法を間違えている???)
これのどこが、複数行を一度に選択しているの?
2005/07/19(火) 19:22:13
>>500
ONIG_OPTION_MULTILINE (や REG_NEWLINE や RE_OPTION_MULTILINE など) をセット
しているかどうかで複数行選択できるかどうか変わるので、
そのへんを晒せばもうちょっと状況がわかると思うのだが、
元質問者はもう既にどっかいっちゃったのだろうな。
ONIG_OPTION_MULTILINE (や REG_NEWLINE や RE_OPTION_MULTILINE など) をセット
しているかどうかで複数行選択できるかどうか変わるので、
そのへんを晒せばもうちょっと状況がわかると思うのだが、
元質問者はもう既にどっかいっちゃったのだろうな。
502名無しさん@お腹いっぱい。
2005/09/21(水) 20:57:28 正規表現で
○○ か ○○の場合と言うのはどう表現するのでしょうか?
Cで言う、 || のようなものです。
○○ か ○○の場合と言うのはどう表現するのでしょうか?
Cで言う、 || のようなものです。
2005/09/21(水) 21:07:45
2005/09/21(水) 21:18:44
\(>∀<\) キャー
2005/09/21(水) 21:58:13
(;`∇´))))))))))) \(>∀<\) キャー
2005/09/21(水) 22:48:45
俺ならこう→「\(○{2}\) か \1の場合」
2005/09/21(水) 23:46:20
何気に正規表現本もラッシュだな。
2005/09/22(木) 00:19:11
\([^ ]∀[^ ]*\)
AAみたいな正規表現を作りたいが難しい。
AAみたいな正規表現を作りたいが難しい。
2005/09/22(木) 02:52:41
つくれてるやん!
2005/09/23(金) 23:15:15
∀ がメタキャラになってくれると楽しいかも
2005/09/26(月) 20:32:51
дも
2005/09/28(水) 14:54:06
ネタキャラ
2005/12/09(金) 01:04:17
純粋に興味の問題なんだけど、
「ある文字集合の要素が各1回ずつしか出現しない」という文字列は
正規表現で表現できる?
例えばA, B, Cの文字からなる言語を考えたとすると、
ABC ACB BAC BCA CAB CBAの6つの文字列にマッチする表現っす。
「ある文字集合の要素が各1回ずつしか出現しない」という文字列は
正規表現で表現できる?
例えばA, B, Cの文字からなる言語を考えたとすると、
ABC ACB BAC BCA CAB CBAの6つの文字列にマッチする表現っす。
2005/12/09(金) 01:08:23
文字集合の濃度が有限なら
単に | でつなげばいいな。
単に | でつなげばいいな。
2005/12/09(金) 02:30:43
いろは歌とか"a quick brown fox..."みたいなのにマッチさせる正規表現、
って書けば説明が早かったかもですね。
>>514
ひらがなの場合で47!個、アルファベットの場合で26!個の文字列を
|でつなぐってことになると思うんですが、やはりこれしか方法ないんですかね。
正規表現の長さは… アルファベットの場合でも約1京テラバイトか… orz
って書けば説明が早かったかもですね。
>>514
ひらがなの場合で47!個、アルファベットの場合で26!個の文字列を
|でつなぐってことになると思うんですが、やはりこれしか方法ないんですかね。
正規表現の長さは… アルファベットの場合でも約1京テラバイトか… orz
2005/12/09(金) 09:42:38
>>513
[^A]*A[^A]* ではどうよ
[^A]*A[^A]* ではどうよ
2005/12/09(金) 09:53:24
>>516
BBA にもマッチしちゃうんでは。
BBA にもマッチしちゃうんでは。
2005/12/09(金) 09:57:44
2005/12/09(金) 19:50:27
いろは歌って内容も傑作だよな。
2005/12/09(金) 21:53:37
> o 2回出てるよ。
おお、32年生きてて初めて気が付いたっす。漏れの目はfusianasanさんだ… orz
> 実用を考えたら正規表現以外でやった方がいいな。
そうことになっちゃいますかね。みなさんレスどうもでした。
おお、32年生きてて初めて気が付いたっす。漏れの目はfusianasanさんだ… orz
> 実用を考えたら正規表現以外でやった方がいいな。
そうことになっちゃいますかね。みなさんレスどうもでした。
521名無しさん@お腹いっぱい。
2005/12/11(日) 08:09:16 Windowsで正規表現にマッチする文字列のみ(行全体じゃなく)を表示・保存するにはどうすればいいのでしょうか?
xyzzyとかのエディタのgrepでやろうとしたのですが、検索してもよくわかりません。
Rubyとかスクリプト言語を使わないと無理でしょうか?
xyzzyとかのエディタのgrepでやろうとしたのですが、検索してもよくわかりません。
Rubyとかスクリプト言語を使わないと無理でしょうか?
2005/12/11(日) 08:13:57
上すいません。書きこむスレ間違えました。(プログラム板の正規表現スレに書きこんだつもりでした。)
523名無しさん@お腹いっぱい。
2005/12/11(日) 11:19:25 ちょうど一回出るんなら何かの順序でソートして文字列が完全一致することをチェックかなあ
524名無しさん@お腹いっぱい。
2006/01/01(日) 11:16:33 エディターの正規表現で置き換えをしたいんですが・・・
1、2、3、・・・という連番を
(1) (2) (3)というふうに置き換えたいのですが
どうしたらよいでしょうか。
1、2、3、・・・という連番を
(1) (2) (3)というふうに置き換えたいのですが
どうしたらよいでしょうか。
2006/01/01(日) 11:57:28
まずは(ry
2006/01/01(日) 12:39:56
置換元:[1-9]
置換先:(\0)
で、できるかもよ。
置換先:(\0)
で、できるかもよ。
527名無しさん@お腹いっぱい。
2006/01/01(日) 17:30:572006/01/01(日) 19:50:58
置換元:[1-9][0-9]*
置換先:\(\0\)
こんな風にすればできるのかな?
どんな風に駄目だったかわからないけれど。
置換先:\(\0\)
こんな風にすればできるのかな?
どんな風に駄目だったかわからないけれど。
529名無しさん@お腹いっぱい。
2006/01/01(日) 20:02:162006/01/01(日) 20:09:51
\0のところを、
\1
$1
にしても同じかな?
\1
$1
にしても同じかな?
531名無しさん@お腹いっぱい。
2006/01/01(日) 20:13:182006/01/01(日) 20:17:25
そのエディタの正規表現がreference(\1とか$1とか)をサポートしてないに1票。
533名無しさん@お腹いっぱい。
2006/01/01(日) 21:27:04 !(^^)!ピンポーンです。
ヘルプを見ていたら、referenceはサポートしていないと出ていました。
他のエディターを探すか、どうしたらいいでしょうか。
ヘルプを見ていたら、referenceはサポートしていないと出ていました。
他のエディターを探すか、どうしたらいいでしょうか。
534名無しさん@お腹いっぱい。
2006/01/01(日) 23:17:07 続きです
結局QXエディタをダウンロードして使いました。
びっくりしたのはWindows上では
正規表現というのは全然一般的ではないんですね。
勉強しようにも正規表現サポート自体が脆弱だったんですね。
結局QXエディタをダウンロードして使いました。
びっくりしたのはWindows上では
正規表現というのは全然一般的ではないんですね。
勉強しようにも正規表現サポート自体が脆弱だったんですね。
2006/01/03(火) 22:49:27
まあやることがハッキリ決まってるんなら、
(念の為)対象ファイルのカレントディレクトリのDOS窓を開いてsed、だな。
(念の為)対象ファイルのカレントディレクトリのDOS窓を開いてsed、だな。
537名無しさん@お腹いっぱい。
2006/01/07(土) 07:00:27{aaa}[bbb}{ccc}
という文字列から、aaa bbb cccをそれぞれマッチさせてとりだしたいので、
/¥{(.*)¥}¥{(.*)¥}¥{(.*)¥}/
としていましたが、
とりだしたい文字列のなかに、さらに{}がはいっていることがあることが
わかりました。
{aaa}[b{b}b}{ccc}
とか。
それぞれaaa b{b}b cccというかたちでとりだしたいのですが、どうしたものでしょうか。
2006/01/07(土) 10:07:50
>>537
sedはそのままでok
sedはそのままでok
2006/01/07(土) 14:56:41
グループ化用のカッコにエスケープが必要だからsed「では」ダメじゃないの?
Perlならエスケープ不要なので大丈夫。
ところで>>537はテクニシャンだな。
navi2chで円マーク(¥じゃないほう)を表示させやがって…
Perlならエスケープ不要なので大丈夫。
ところで>>537はテクニシャンだな。
navi2chで円マーク(¥じゃないほう)を表示させやがって…
2006/01/07(土) 15:36:35
>>539
ヒント:}{
ヒント:}{
2006/01/07(土) 15:46:46
いや、それは分かってるつもりだけど。
sedだと例えば{(aaa)}{(bbb)}{(ccc)}にマッチしちゃいますよってこと。
sedだと例えば{(aaa)}{(bbb)}{(ccc)}にマッチしちゃいますよってこと。
2006/01/07(土) 17:31:15
>>541
じゃあ不必要な{}()を最初にスペースに変換してからマッチさせたら
じゃあ不必要な{}()を最初にスペースに変換してからマッチさせたら
2006/01/07(土) 18:58:38
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- たぬかな、結婚していた SNSで報告 生配信では入籍時期も説明 祝福殺到「おめでとう!」「幸あれ」 [muffin★]
- 自民 国会議員の歳費 月額5万円引き上げ 今国会での成立目指す [どどん★]
- 「クラウンに乗りたかった」東京・足立の車暴走 男性、容疑を否認★2 [七波羅探題★]
- 東京・足立区の盗難車死亡ひき逃げ事件 11人死傷のうち死亡した男女の身元を発表 80代の男性と20代フィリピン国籍の女性 警視庁 [どどん★]
- 相次ぐ中国公演中止に、シンガーソングライターらが続々高市首相に怒り表明「隣国の仲間たちに対して申し訳ない」★3 [muffin★]
- 「営業妨害ですよ」小野田紀美氏、銀色ドレス揶揄に怒りをあらわ [バイト歴50年★]
- ド、ド、ド リ フ の
- 【動画】慶應准教授の有野氏、高市答弁の問題点を理路整然と指摘しまいネトウヨ発狂wwwwwwwwwwww [271912485]
- お前らっていい匂いするよな
- なんか寝れないのでウマ娘の雑談とか募集
- 機械に疎いのほんと大変
- お前ら彼女/妻のうんちを素手で触れる?
