探検
正規表現
■ このスレッドは過去ログ倉庫に格納されています
1正規表現
NGNG 正規表現
NGNG
sedでやれってか?
漏れはへたれなので、Perlなどを使ってしまうが(w
漏れはへたれなので、Perlなどを使ってしまうが(w
NGNG
>>364
2パスでやれば?
2パスでやれば?
NGNG
2パス?
NGNG
>>367
"#" 以前が一番長いのを調べてから、それに合わせて整形し直せば。
"#" 以前が一番長いのを調べてから、それに合わせて整形し直せば。
NGNG
NGNG
決め打ちでいいなら何の苦労もないわけで。
NGNG
>>369
反則技。gawk で。sed ではどうやっても出来ないような気が……(_ _;)
# sed でできるのか?
{
a=index($0,"#");
if(a>best) {
best=a;
}
c[FNR]=$0
}
END {
for(i=0;i<=NR;i++){
x=index(c[i],"#");
if(x && x<best) {
for (j=x;j<best;j++) {
gsub("#"," #",c[i]);
}
}
print c[i]
}
}
反則技。gawk で。sed ではどうやっても出来ないような気が……(_ _;)
# sed でできるのか?
{
a=index($0,"#");
if(a>best) {
best=a;
}
c[FNR]=$0
}
END {
for(i=0;i<=NR;i++){
x=index(c[i],"#");
if(x && x<best) {
for (j=x;j<best;j++) {
gsub("#"," #",c[i]);
}
}
print c[i]
}
}
NGNG
( ´∀`)
NGNG
保守
374名無しさん@お腹いっぱい。
NGNG 教えてください。
Windows用のファイルをemacsなんかで開いたとき,最下行に
^Z
という符号が表示されることがあります。
これはいったい何でしょうか?
Windows用のファイルをemacsなんかで開いたとき,最下行に
^Z
という符号が表示されることがあります。
これはいったい何でしょうか?
NGNG
いわゆるeof
NGNG
>>375
ありがとうございます。この符号のあるファイル同士をcatで連結すると,途
中にこの符号が入ってしまいます。この符号をsedでマッチさせて消去したい
のですが,どうすればいいでしょうか。
sed '/^$/d' ではダメでした。
ありがとうございます。この符号のあるファイル同士をcatで連結すると,途
中にこの符号が入ってしまいます。この符号をsedでマッチさせて消去したい
のですが,どうすればいいでしょうか。
sed '/^$/d' ではダメでした。
NGNG
>>376
いわゆるeof
いわゆるeof
378名無しさん@お腹いっぱい。
NGNG EOF符号をsedで消去できますか?
NGNG
grep で使える正規表現を精密に解説したサイトはありますかね?
日本語/英語どっちでもいいのですが。
日本語/英語どっちでもいいのですが。
NGNG
http://www.kt.rim.or.jp/~kbk/regex/regex.html
NGNG
レベル低いなー
378に対して出来るとも出来ないとも言えないのか...
378に対して出来るとも出来ないとも言えないのか...
NGNG
378=381 ですか?
NGNG
384338
NGNG でね、特殊記号の特別なケースがtab。大昔は\tなんて表現なかったさ。
よく画面上の見た目やハードコピーや雑誌からシェルスクリプトを打ち直して、
tabとspaceの違いで動かないなんてことが時々あったんだよ。
あと勝手にシェルスクリプトを整形されて動かなくなるとか。
よく画面上の見た目やハードコピーや雑誌からシェルスクリプトを打ち直して、
tabとspaceの違いで動かないなんてことが時々あったんだよ。
あと勝手にシェルスクリプトを整形されて動かなくなるとか。
NGNG
NGNG
NGNG
>>380
ブックマークにいれますた。
ブックマークにいれますた。
388名無しさん@お腹いっぱい。
NGNG [\\w$'-]
これはどういうことなのでしょう?
[\w$'-]
ならわかるのですが..
これはどういうことなのでしょう?
[\w$'-]
ならわかるのですが..
NGNG
>>388
処理系は何?
処理系は何?
390名無しさん@お腹いっぱい。
NGNGNGNG
>>390
ほほう。バグってる悪寒。
ほほう。バグってる悪寒。
NGNG
Regexp::compile("\\b\\d[\\d\\.,]+\\d\\b")
こんなのがあるんですが..
こんなのがあるんですが..
NGNG
NGNG
NGNG
perl で質問です。
NOTE note "note" notes
上のような文字列を「book」だけを「note」に置換したいのですが
s/\bnote\b/book/g
のようにすると、ダブルクォートで囲まれているものも置換されてしまうのですが
それを
NOTE book "note" notes
のようにするにはどう表記すればよいのでしょうか?
詳しい方、教えてください。
NOTE note "note" notes
上のような文字列を「book」だけを「note」に置換したいのですが
s/\bnote\b/book/g
のようにすると、ダブルクォートで囲まれているものも置換されてしまうのですが
それを
NOTE book "note" notes
のようにするにはどう表記すればよいのでしょうか?
詳しい方、教えてください。
NGNG
NGNG
NGNG
NGNG
NGNG
>>397
> とはいえ、仕様があいまいすぎ。
すいません、おっしゃるとおりです。
ある単語(note)をある単語(book)に置換したいのですが、
ダブルクォートで囲まれているもの("note")は、その置換からは除外したいのです。
> 'note' はどうする? :note: は? "abc note def" は?
したがいまして、これらはとりあえず想定外で構わないので置換してしまっても構いません。
もう少し昨日の例を詳しく書きますと
NOTE,note"note"notes-note
このようなものでも
NOTE,book"note"notes-book
のようになってくれるのを期待しています。
ただ、"abc note def" これも想定外で構わないのですが
対応が可能であるのなら、私の勉強の為に教えてくださるとありがたく思います。
>>399
ありがとうございます。
>s/(?=[^"])\bnote\b(?=[^"])/book/g;
これを試してみました。
基本的にOKかなと思ったのですが、行頭、行末では置換の対象となってくれませんでした。
> とはいえ、仕様があいまいすぎ。
すいません、おっしゃるとおりです。
ある単語(note)をある単語(book)に置換したいのですが、
ダブルクォートで囲まれているもの("note")は、その置換からは除外したいのです。
> 'note' はどうする? :note: は? "abc note def" は?
したがいまして、これらはとりあえず想定外で構わないので置換してしまっても構いません。
もう少し昨日の例を詳しく書きますと
NOTE,note"note"notes-note
このようなものでも
NOTE,book"note"notes-book
のようになってくれるのを期待しています。
ただ、"abc note def" これも想定外で構わないのですが
対応が可能であるのなら、私の勉強の為に教えてくださるとありがたく思います。
>>399
ありがとうございます。
>s/(?=[^"])\bnote\b(?=[^"])/book/g;
これを試してみました。
基本的にOKかなと思ったのですが、行頭、行末では置換の対象となってくれませんでした。
NGNG
NGNG
もっと簡単にできるかもしれないけど、
s/(^|(?<=[^\w"]))note\b|\bnote($|(?=[^\w"]))/book/g;
とかは?
> ただ、"abc note def" これも想定外で構わないのですが
後ろから数えた"の個数が奇数ならマッチしないようにして、
$b =~ s/\bnote\b(?=([^"]*"[^"]*")*[^"]*$)/book/g;
とすれば、"のマッチングが保証できる範囲ではなんとかなるかも。
前からの"の個数でマッチさせようとしたら、
可変長のlook-behindは実装してないらしい。(perl 5.8)
s/(^|(?<=[^\w"]))note\b|\bnote($|(?=[^\w"]))/book/g;
とかは?
> ただ、"abc note def" これも想定外で構わないのですが
後ろから数えた"の個数が奇数ならマッチしないようにして、
$b =~ s/\bnote\b(?=([^"]*"[^"]*")*[^"]*$)/book/g;
とすれば、"のマッチングが保証できる範囲ではなんとかなるかも。
前からの"の個数でマッチさせようとしたら、
可変長のlook-behindは実装してないらしい。(perl 5.8)
NGNG
s/"note"/hogehoge/g
s/note/book/g
s/hogehoge/"note"/g
おれならこうしちゃうな。
考えんのめんどい。
s/note/book/g
s/hogehoge/"note"/g
おれならこうしちゃうな。
考えんのめんどい。
NGNG
405名無しさん@お腹いっぱい。
NGNG 質問させてください。
&にはマッチして欲しいのですが、&にはマッチして欲しくないのです。
どのように記述すればよいのでしょう。
お願いします。
&にはマッチして欲しいのですが、&にはマッチして欲しくないのです。
どのように記述すればよいのでしょう。
お願いします。
406405
NGNG &にはマッチ
&amp;にはマッチしない
でした。すいません。
&amp;にはマッチしない
でした。すいません。
NGNG
>>405
Perl5 でいい?
Perl5 でいい?
NGNG
>>405
/&(?!amp;)/
/&(?!amp;)/
NGNG
正規表現のおすすめ書って何がありますか?
NGNG
オライリーのやつ。
411名無しさん@そうだ選挙に行こう
NGNG ワイルドカード(DOS)の *.txt って、正規表現だとどう書くの?
NGNG
{(([0-9a-zA-Z]){0,})\.txt}とか半端に返してみるテスト
NGNG
[^\\/]+\.[Tt][Xx][Tx]\z とか (ry
NGNG
foo と bar 両方含む行をマッチさせたいんだけど、
awkでいうところの and演算子
% awk /foo/&&/bar/
が使える、windowsで動くgrepツールなんか教えてください。
#絞込み再検索のないGUIなgrepツールなんかイラネ
awkでいうところの and演算子
% awk /foo/&&/bar/
が使える、windowsで動くgrepツールなんか教えてください。
#絞込み再検索のないGUIなgrepツールなんかイラネ
415名無しさん@お腹いっぱい。
NGNGNGNG
NGNG
>>414
|が使えるツールなら、/foo.*bar|bar.*foo/とかで近似できるんじゃないの。
CygwinのGNU grepで試してみた。
> cat foobar.txt
foo
bar
foo foo
foo bar
bar bar
bar foo
> grep -n "foo.*bar\|bar.*foo" foobar.txt
4:foo bar
6:bar foo
>
|が使えるツールなら、/foo.*bar|bar.*foo/とかで近似できるんじゃないの。
CygwinのGNU grepで試してみた。
> cat foobar.txt
foo
bar
foo foo
foo bar
bar bar
bar foo
> grep -n "foo.*bar\|bar.*foo" foobar.txt
4:foo bar
6:bar foo
>
418414
NGNG なるほど、andをorに展開すればいいのか。
しかし fooかつbarかつbazを検索、つーばあい展開すんのめんどくさいなぁ。
windowsのGUIなgrepツールは、サブフォルダも検索、とかできて
結構便利なのも歩けど、パイプとかorが使えなかったりしてイマイチ。
結局cygwinでawk使ってるけど、これもいまひとつメンドクサイ。
2chのログを検索してるだけなんだが_| ̄|○
しかし fooかつbarかつbazを検索、つーばあい展開すんのめんどくさいなぁ。
windowsのGUIなgrepツールは、サブフォルダも検索、とかできて
結構便利なのも歩けど、パイプとかorが使えなかったりしてイマイチ。
結局cygwinでawk使ってるけど、これもいまひとつメンドクサイ。
2chのログを検索してるだけなんだが_| ̄|○
NGNG
>>418
xyzzy の ggrep 辺りがいいんじゃない?
xyzzy の ggrep 辺りがいいんじゃない?
420名無しさん@お腹いっぱい。
NGNG Windows の AWKじゃだめですか?
421名無しさん@お腹いっぱい。
NGNG Perloしかないべ
422名無しさん@お腹いっぱい。
NGNG #から行末までをあらわす正規表現ってどうやればいいんでしょうか。
NGNG
#.*$
NGNG
#[^#]*$
NGNG
質問があります。
サクラエディタ(正規表現ライブラリ:BREGEXP.DLL)でCソース中のhogehogeをgrepしてた
場合に、コメント化(//)されている行だけは検索結果に表示したくないんですが、
どのような正規表現で検索すればいいでしょうか?
サクラエディタ(正規表現ライブラリ:BREGEXP.DLL)でCソース中のhogehogeをgrepしてた
場合に、コメント化(//)されている行だけは検索結果に表示したくないんですが、
どのような正規表現で検索すればいいでしょうか?
426名無しさん@お腹いっぱい。
NGNG あげ
NGNG
>>425
そのエディタよく知らないんだけど、Unix で動くの?
そのエディタよく知らないんだけど、Unix で動くの?
NGNG
スレタイだけ見て、板を確認してないんだと思われ。
NGNG
それを言うと、このスレ自体板違いな気もしなくはないが。ム板のだけで十分やん。
430425
NGNG UNIX板って知っていて質問をしましたが。
とりあえず、ム板に逝ってみます。
とりあえず、ム板に逝ってみます。
NGNG
>>430
Unix 用のソフトなの?
Unix 用のソフトなの?
NGNG
>>431
is not UNIX
is not UNIX
433名無しさん@お腹いっぱい。
NGNG 多分エディタの種類はどうでもよくて、 /\/\*.*\*\/ とか、そんな答えを期待していたと思われ
NGNG
ム板の正規表現もとんと書き込みないから、テストしてみたら
書き込めた。ここもどうなんだか、書き込んでみる。
書き込めた。ここもどうなんだか、書き込んでみる。
NGNG
ハハ*.*ハハ
436名無しさん@お腹いっぱい。
NGNG 指定文字列A 何か 指定文字列B
という何かにヒットさせるにはどういう正規表現にすればいいですか?
という何かにヒットさせるにはどういう正規表現にすればいいですか?
NGNG
438436
NGNG 自分で、
(文字列A).*{2,15}(文字列B)
とかでやってみたんですが、
マッチするのが、
指定文字列A 何か 指定文字列B
がマッチしてしまうので…
何か の部分だけを抽出しようと思ってます。
(文字列A).*{2,15}(文字列B)
とかでやってみたんですが、
マッチするのが、
指定文字列A 何か 指定文字列B
がマッチしてしまうので…
何か の部分だけを抽出しようと思ってます。
NGNG
後から取り出したい部分を()で囲む。(.*{2,15})みたいに。
440436
NGNG >>439さんの方法でも結果が変わりませんでした… 処理系が違うからかな?
とりあえず諦めて、
指定文字列A 何か 指定文字列B
をマッチさせて、指定文字列A+1文字目から 何か の文字数だけ切り取ることにします。
ありがとうございました。
とりあえず諦めて、
指定文字列A 何か 指定文字列B
をマッチさせて、指定文字列A+1文字目から 何か の文字数だけ切り取ることにします。
ありがとうございました。
NGNG
>>440
で、その処理系が何かを晒すつもりは毛頭無いわけですね?
で、その処理系が何かを晒すつもりは毛頭無いわけですね?
NGNG
>>441
ハゲには無理
ハゲには無理
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
「単語」とは?
「単語」とは?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「クラウンに乗りたかった」東京・足立の車暴走 男性、容疑を否認 [七波羅探題★]
- 【インバウンド】中国政府、日本行き航空便の減便指示、2026年3月末まで「当面の措置」 [1ゲットロボ★]
- 【高市関税キター!!】個人輸入・少額輸入品への税優遇見直しへ…中国の通販サイトなどからの大量輸入を懸念 [1ゲットロボ★]
- 「車を処分してください」生活保護の窓口 取材で見えた利用者の実情 [少考さん★]
- 「クラウンに乗りたかった」東京・足立の車暴走 男性、容疑を否認★2 [七波羅探題★]
- 相次ぐ中国公演中止に、シンガーソングライターらが続々高市首相に怒り表明「隣国の仲間たちに対して申し訳ない」★3 [muffin★]
- 【実況】博衣こよりのえちえちFantasy map simulatorミニキャラ死闘編🧪★4
- 【実況】博衣こよりのえちえちFantasy map simulatorミニキャラ死闘編🧪★5
- VIPから🏡スレ潰すために来ました
- たぬかな、結婚していた [268244553]
- 【動画】慶應准教授の有野氏、高市答弁の問題点を理路整然と指摘しまいネトウヨ発狂wwwwwwwwwwww [271912485]
- 【高市悲報】理系、生成AIにより死滅へ Claude開発者「すまん、もう理系のチーズよりA Iの方が賢いねん…」 [339315852]
