正規表現at UNIX
正規表現 - 暇つぶし2ch407:名無しさん@お腹いっぱい。
04/03/31 14:53.net
s/"note"/hogehoge/g
s/note/book/g
s/hogehoge/"note"/g
おれならこうしちゃうな。
考えんのめんどい。

408:名無しさん@お腹いっぱい。
04/04/01 01:10.net
>>402

ありがとうございました。
たいへん勉強になりました。


409:名無しさん@お腹いっぱい。
04/04/07 15:07.net
質問させてください。

&にはマッチして欲しいのですが、&にはマッチして欲しくないのです。

どのように記述すればよいのでしょう。

お願いします。

410:405
04/04/07 15:09.net
&にはマッチ
&にはマッチしない

でした。すいません。

411:名無しさん@お腹いっぱい。
04/04/07 15:26.net
>>405
Perl5 でいい?

412:名無しさん@お腹いっぱい。
04/04/07 15:32.net
>>405
/&(?!amp;)/

413:名無しさん@お腹いっぱい。
04/04/11 13:22.net
正規表現のおすすめ書って何がありますか?

414:名無しさん@お腹いっぱい。
04/04/11 14:13.net
オライリーのやつ。

415:名無しさん@そうだ選挙に行こう
04/07/11 16:49.net
ワイルドカード(DOS)の *.txt って、正規表現だとどう書くの?

416:名無しさん@お腹いっぱい。
04/07/11 20:35.net
{(([0-9a-zA-Z]){0,})\.txt}とか半端に返してみるテスト

417:名無しさん@お腹いっぱい。
04/07/11 20:46.net
[^\\/]+\.[Tt][Xx][Tx]\z とか (ry

418:名無しさん@お腹いっぱい。
04/07/11 22:41.net
foo と bar 両方含む行をマッチさせたいんだけど、
awkでいうところの and演算子
% awk /foo/&&/bar/
が使える、windowsで動くgrepツールなんか教えてください。

#絞込み再検索のないGUIなgrepツールなんかイラネ

419:名無しさん@お腹いっぱい。
04/07/11 23:39.net
>>412,413
. 記号は \ でエスケープになるのですね。.*\.txt でマッチはしました。
助かりました、ありがとうです。

420:名無しさん@お腹いっぱい。
04/07/12 22:46.net
>>414

FIND "foo" | FIND "bar"

みたいのじゃ駄目?

421:名無しさん@お腹いっぱい。
04/07/14 00:51.net
>>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
>

422:414
04/07/23 03:17.net
なるほど、andをorに展開すればいいのか。
しかし fooかつbarかつbazを検索、つーばあい展開すんのめんどくさいなぁ。

windowsのGUIなgrepツールは、サブフォルダも検索、とかできて
結構便利なのも歩けど、パイプとかorが使えなかったりしてイマイチ。

結局cygwinでawk使ってるけど、これもいまひとつメンドクサイ。
2chのログを検索してるだけなんだが_| ̄|○

423:名無しさん@お腹いっぱい。
04/07/29 01:12.net
>>418
xyzzy の ggrep 辺りがいいんじゃない?

424:名無しさん@お腹いっぱい。
04/07/30 00:18.net
Windows の AWKじゃだめですか?

425:名無しさん@お腹いっぱい。
04/08/03 09:48.net
Perloしかないべ


426:名無しさん@お腹いっぱい。
04/08/06 22:51.net
#から行末までをあらわす正規表現ってどうやればいいんでしょうか。

427:名無しさん@お腹いっぱい。
04/08/06 23:22.net
#.*$

428:名無しさん@お腹いっぱい。
04/08/12 15:32.net
#[^#]*$

429:名無しさん@お腹いっぱい。
04/08/24 00:25.net
質問があります。

サクラエディタ(正規表現ライブラリ:BREGEXP.DLL)でCソース中のhogehogeをgrepしてた
場合に、コメント化(//)されている行だけは検索結果に表示したくないんですが、
どのような正規表現で検索すればいいでしょうか?


430:名無しさん@お腹いっぱい。
04/08/24 01:48.net
あげ

431:名無しさん@お腹いっぱい。
04/08/24 01:56.net
>>425
そのエディタよく知らないんだけど、Unix で動くの?

432:名無しさん@お腹いっぱい。
04/08/24 13:36.net
スレタイだけ見て、板を確認してないんだと思われ。

433:名無しさん@お腹いっぱい。
04/08/24 13:43.net
それを言うと、このスレ自体板違いな気もしなくはないが。ム板のだけで十分やん。

434:425
04/08/24 21:24.net
UNIX板って知っていて質問をしましたが。
とりあえず、ム板に逝ってみます。

435:名無しさん@お腹いっぱい。
04/08/24 21:38.net
>>430
Unix 用のソフトなの?

436:名無しさん@お腹いっぱい。
04/08/24 22:51.net
>>431
is not UNIX

437:名無しさん@お腹いっぱい。
04/08/24 23:41.net
多分エディタの種類はどうでもよくて、 /\/\*.*\*\/ とか、そんな答えを期待していたと思われ


438:名無しさん@お腹いっぱい。
04/09/05 06:33.net
ム板の正規表現もとんと書き込みないから、テストしてみたら
書き込めた。ここもどうなんだか、書き込んでみる。

439:名無しさん@お腹いっぱい。
04/09/06 18:18.net
ハハ*.*ハハ

440:名無しさん@お腹いっぱい。
04/09/07 16:51.net
指定文字列A 何か 指定文字列B
という何かにヒットさせるにはどういう正規表現にすればいいですか?

441:名無しさん@お腹いっぱい。
04/09/07 17:18.net
>>436
素で答えると「文字列A.*文字列B」だけど?そういう話?

もちろん文字列ABに特殊記号があったらどうするかとか、
.*は最長マッチでいいのとか、いろいろ細かい話はあるけど。

442:436
04/09/07 17:21.net
自分で、
(文字列A).*{2,15}(文字列B)
とかでやってみたんですが、
マッチするのが、
指定文字列A 何か 指定文字列B
がマッチしてしまうので…

何か の部分だけを抽出しようと思ってます。

443:名無しさん@お腹いっぱい。
04/09/07 17:55.net
後から取り出したい部分を()で囲む。(.*{2,15})みたいに。

444:436
04/09/08 01:37.net
>>439さんの方法でも結果が変わりませんでした… 処理系が違うからかな?

とりあえず諦めて、
指定文字列A 何か 指定文字列B
をマッチさせて、指定文字列A+1文字目から 何か の文字数だけ切り取ることにします。

ありがとうございました。

445:名無しさん@お腹いっぱい。
04/09/08 02:28.net
>>440
で、その処理系が何かを晒すつもりは毛頭無いわけですね?

446:名無しさん@お腹いっぱい。
04/09/08 10:13.net
>>441
ハゲには無理

447:436
04/09/08 11:58.net
何度もすいません。

C#です… 改めてやってみると>>439さんの方法でいけました。
group[1]に入ってたんですね。全体しか見てませんでした。

板違いにお騒がせしました。

448:名無しさん@お腹いっぱい。
04/09/10 00:33.net
Perlの場合、

$_ = "いっぱい";
s/い/お/;          # おっぱい
s/い/お/g;         # おっぱお

ということでおk?

449:名無しさん@お腹いっぱい。
04/09/10 02:41.net
  _  ∩
( ゚∀゚)彡 おっぱい!おっぱお!
 ⊂彡


450:名無しさん@お腹いっぱい。
04/09/10 15:00:12.net
小学生のころ流行ったネタ

451:名無しさん@お腹いっぱい。
04/09/27 06:28:21.net
性器表現

452:名無しさん@お腹いっぱい。
04/09/27 09:23:16.net
ワロテモータ

453:名無しさん@お腹いっぱい。
04/09/27 11:29:59.net
さんざん概出なのに・・・

454:
04/10/13 14:29:29.net



455:名無しさん@お腹いっぱい。
04/10/13 14:50:43.net
.*

456:ウサチャソ
04/10/29 21:49:31.net
↑アナルは性器じゃねーよな、とか思ってよく見ると、ドット米。
イボ痔か?

457:名無しさん@お腹いっぱい。
04/10/30 20:30:37.net
>>452
拭き忘れたウンチだよ。きっと!

458:名無しさん@お腹いっぱい。
04/11/10 15:37:24.net
regexp

459:名無しさん@お腹いっぱい。
04/11/26 21:14:34.net
rege*p

460:名無しさん@お腹いっぱい。
04/12/16 23:14:21.net
正規表現で複数の単語の中に「/」があるときにヒットさせたいんですが

echo "hoge / hoge" | grep "\</\>"

でだめでした・・。だれか修正をお願いしますorz


461:名無しさん@お腹いっぱい。
04/12/16 23:50:35.net
>>456
条件をもっと明確に定義しろ。
マルチすんな。

462:456
04/12/17 00:16:01.net
>>457

複数の単語の中で、"/"のみで構成される単語が存在する場合のみ
ヒットさせたいのです

つまり
a b c / d
上記ようなときで下記のどの事象にもヒットさせたくはないのです
// /a a/ a/a



463:名無しさん@お腹いっぱい。
04/12/17 01:22:18.net
>>456
スレリンク(linux板:957番)
とこっちと、どっちで続けるのかね。

464:名無しさん@お腹いっぱい。
04/12/17 11:17:13.net
まことに勝手ながらこちらで続けさせてください
質問を改めます
やりたいことは
-----------------------
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


465:名無しさん@お腹いっぱい。
04/12/17 11:22:35.net
>>460
grep と言ってもいろいろあるんだが
どの OS のどの grep よ。

466:456
04/12/17 11:23:16.net
↑修正します

修正前)上と下の違いは、前後にスペースを含む" / "が存在するか否かです

修正後)上と下の違いは、単語 / が存在するか否かです

467:名無しさん@お腹いっぱい。
04/12/17 11:27:31.net
>>460
> 上と下の違いは、前後にスペースを含む" / "が存在するか否かです
1) と 2) には存在しないようだが。

468:名無しさん@お腹いっぱい。
04/12/17 11:28:10.net
>>462
「単語」とは?

469:名無しさん@お腹いっぱい。
04/12/18 00:00:37.net
ブラケットの中でピリオドを入れる時ってメタキャラクタとして扱われますか?

[\w.]

[\w\.]
が同じ動きにになるみたいなんですけど・・・。

ちなみに、パールです。


470:名無しさん@お腹いっぱい。
04/12/18 02:48:16.net
>>465
「みたい」じゃなくてテストコードで示してよ。

471:名無しさん@お腹いっぱい。
04/12/18 08:58:34.net
どの言語の正規表現がどんな有限オートマトン使ってるという情報って
どこかにありますかねぇ。正規表現コンバータ作ろうかと思ってるのですが。。

NFA、DFAの違いぐらいは詳説正規表現の本でわかるのですが、実装ともなると。
オートマトンの変換に関してはコンパイラの本を参考にしてますが、
やはりかなりつらいものがありますね。たんに字句解析して作った方がいいのかなぁ。

472:名無しさん@お腹いっぱい。
04/12/18 09:16:42.net
普通にNFA+DFAでいいじゃん

473:名無しさん@お腹いっぱい。
04/12/21 02:13:26.net
オブジェクト指向正規表現の仕様策定はまだですか?

474:名無しさん@お腹いっぱい。
04/12/21 14:44:45.net
>>469
聞いたことないな。
何それ?

475:名無しさん@お腹いっぱい。
04/12/21 19:26:19.net
>>469
まかせた。

476:名無しさん@お腹いっぱい。
04/12/22 19:35:55.net
お前ら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つのコレクションが取得できるの?

477:472
04/12/22 19:38:29.net
*? つーのは最短一致という便利なキーワードなのか。
つまらん質問失礼しますた。

478:名無しさん@お腹いっぱい。
05/01/07 22:21:40.net
下がってるので、どれ一つ、とんちでも。
rubyでは
/aa+??/ =~ "a" => 0
emacsでは
"aa+??" =~ "a" => nil
さて、こうなってしまうのは、各々がどのようなオートマトンで
解釈されているからでしょうか。

479:名無しさん@お腹いっぱい。
05/01/08 07:36:53.net
emacsって最短マッチあんの?

480:名無しさん@お腹いっぱい。
05/01/08 11:15:48.net
ありましゅよー
URLリンク(www.cs.huji.ac.il)

でも、{m,n}? の最短マッチはないみたい…。

481:名無しさん@お腹いっぱい。
05/01/11 11:11:46.net
最短マッチに対応した grep ってある?

482:名無しさん@お腹いっぱい。
05/01/11 13:31:51.net
>>477
grep が最短マッチに対応してるかどうかが問題になるケースってある?

483:名無しさん@お腹いっぱい。
05/01/30 22:46:31 .net
[^ま]*まってかくのめんどくさい

484:名無しさん@お腹いっぱい。
05/02/26 05:47:57 .net
あげ

485:名無しさん@お腹いっぱい。
05/03/30 02:33:49 .net
up

486:名無しさん@お腹いっぱい。
05/04/19 17:08:07 .net
正規表現の実装っていろいろあることにやっと気づいた漏れorz

487:名無しさん@お腹いっぱい。
05/05/14 15:12:25 .net
ほしゅ

488:名無しさん@お腹いっぱい。
05/05/16 16:51:45 .net
abc xyzをaxbyczにしたいのですが

489:名無しさん@お腹いっぱい。
05/05/16 17:05:02 .net
s/abc xyz/axbycz/g

490:名無しさん@お腹いっぱい。
05/05/16 19:33:57 .net
ワロタ


491:名無しさん@お腹いっぱい。
05/05/16 19:34:25 .net
保守

492:名無しさん@お腹いっぱい。
05/05/17 22:45:20 .net
>>484
echo abc xyz |sed -e "s/^/%/; :ll; s/[%]\(.\)\(.*\) \(.\)\(.*\)/\1\3%\2 \4/; tll; s/%//;"

493:名無しさん@お腹いっぱい。
05/05/18 00:13:40 .net
うひょー

494:名無しさん@お腹いっぱい。
05/05/28 03:19:18 .net
うに厨として、% をめぐる動きに溜息出た…真剣にありがと 何重にも目が覚めた

495:名無しさん@お腹いっぱい。
05/05/28 05:32:41 .net
abc xyz でも
abcdefg ABCDEFG でもできるね。すげーや。

496: ◆2fmGY.thDg
05/06/02 22:17:25 .net
a

497:名無しさん@お腹いっぱい。
05/06/04 23:07:23 .net
('A`)

498:名無しさん@お腹いっぱい。
05/06/19 02:53:08 .net
Onigurumaを使っているんですが、
あるテキストデータがあります。
----- ここから
END

注釈 ○○○
注意 △△△
補足 ◎◎◎

TITLE
----- ここまで
という部分の、ENDの後の空白行からTITLEの前の空白行の部分(間の行)を削除して、
ENDとTITLEの間は1行だけの空白行にしたいです。
「END\s^[0-9a-zA-Z。-゜ぁ-んァ-ヶ亜-?]*\sTITLE」を指定してもマッチしないんですが、
これは私の正規表現の式が間違えているんでしょうか?
(複数行を1度に選択する方法を間違えている???)

499:名無しさん@お腹いっぱい。
05/06/19 03:13:31 .net
>>494
つーか、正規表現だけ見せられても判断できないと思うんだけど。
改行処理や文字コードのオプション設定はどうしてるかとかいろいろ情報が足りない。

500:名無しさん@お腹いっぱい。
05/07/13 09:25:56 .net
素直に、
~s/END(\s*.*?\s*)TITLE/END\n\nTITLE/sg;
じゃダメ?

501:名無しさん@お腹いっぱい。
05/07/13 13:15:24 .net
>>496
Oniguruma の質問なわけだが?

502:名無しさん@お腹いっぱい。
05/07/13 17:54:26 .net
…とは思ったのだが、Perl 互換らしーから、いーかなとw

てか、見つかるのむちゃくちゃ早いなww
事後ながら、oniguruma (ライブラリ)取りに行った

503:名無しさん@お腹いっぱい。
05/07/13 19:58:46 .net
>>498
> 見つかるのむちゃくちゃ早いなww
どういうこと?


504:名無しさん@お腹いっぱい。
05/07/17 23:17:41 .net
>494
> 「END\s^[0-9a-zA-Z。-゜ぁ-んァ-ヶ亜-?]*\sTITLE」を指定してもマッチしないんですが、
> これは私の正規表現の式が間違えているんでしょうか?
> (複数行を1度に選択する方法を間違えている???)

これのどこが、複数行を一度に選択しているの?


505:名無しさん@お腹いっぱい。
05/07/19 19:22:13 .net
>>500
ONIG_OPTION_MULTILINE (や REG_NEWLINE や RE_OPTION_MULTILINE など) をセット
しているかどうかで複数行選択できるかどうか変わるので、
そのへんを晒せばもうちょっと状況がわかると思うのだが、
元質問者はもう既にどっかいっちゃったのだろうな。

506:名無しさん@お腹いっぱい。
05/09/21 20:57:28 .net
正規表現で
○○ か ○○の場合と言うのはどう表現するのでしょうか?

Cで言う、 || のようなものです。

507:名無しさん@お腹いっぱい。
05/09/21 21:07:45 .net
テンプレに何もないんだなこのスレ。
このあたりで調べろ

URLリンク(www.kt.)


508:rim.or.jp/%7Ekbk/regex/regex.html



509:名無しさん@お腹いっぱい。
05/09/21 21:18:44 .net
\(>∀<\) キャー

510:名無しさん@お腹いっぱい。
05/09/21 21:58:13 .net
(;`∇´))))))))))) \(>∀<\) キャー

511:名無しさん@お腹いっぱい。
05/09/21 22:48:45 .net
俺ならこう→「\(○{2}\) か \1の場合」

512:名無しさん@お腹いっぱい。
05/09/21 23:46:20 .net
何気に正規表現本もラッシュだな。


513:名無しさん@お腹いっぱい。
05/09/22 00:19:11 .net
\([^ ]∀[^ ]*\)

AAみたいな正規表現を作りたいが難しい。

514:名無しさん@お腹いっぱい。
05/09/22 02:52:41 .net
つくれて�


515:驍竄I



516:名無しさん@お腹いっぱい。
05/09/23 23:15:15 .net
∀ がメタキャラになってくれると楽しいかも


517:名無しさん@お腹いっぱい。
05/09/26 20:32:51 .net
дも

518:名無しさん@お腹いっぱい。
05/09/28 14:54:06 .net
ネタキャラ


519:名無しさん@お腹いっぱい。
05/12/09 01:04:17 .net
純粋に興味の問題なんだけど、
「ある文字集合の要素が各1回ずつしか出現しない」という文字列は
正規表現で表現できる?

例えばA, B, Cの文字からなる言語を考えたとすると、
ABC ACB BAC BCA CAB CBAの6つの文字列にマッチする表現っす。

520:名無しさん@お腹いっぱい。
05/12/09 01:08:23 .net
文字集合の濃度が有限なら
単に | でつなげばいいな。

521:名無しさん@お腹いっぱい。
05/12/09 02:30:43 .net
いろは歌とか"a quick brown fox..."みたいなのにマッチさせる正規表現、
って書けば説明が早かったかもですね。

>>514
ひらがなの場合で47!個、アルファベットの場合で26!個の文字列を
|でつなぐってことになると思うんですが、やはりこれしか方法ないんですかね。
正規表現の長さは… アルファベットの場合でも約1京テラバイトか… orz

522:名無しさん@お腹いっぱい。
05/12/09 09:42:38 .net
>>513
[^A]*A[^A]* ではどうよ

523:名無しさん@お腹いっぱい。
05/12/09 09:53:24 .net
>>516
BBA にもマッチしちゃうんでは。

524:名無しさん@お腹いっぱい。
05/12/09 09:57:44 .net
>>515
> "a quick brown fox..."みたいなのに
o 2回出てるよ。

実用を考えたら正規表現以外でやった方がいいな。

525:名無しさん@お腹いっぱい。
05/12/09 19:50:27 .net
いろは歌って内容も傑作だよな。

526:名無しさん@お腹いっぱい。
05/12/09 21:53:37 .net
> o 2回出てるよ。

おお、32年生きてて初めて気が付いたっす。漏れの目はfusianasanさんだ… orz

> 実用を考えたら正規表現以外でやった方がいいな。

そうことになっちゃいますかね。みなさんレスどうもでした。

527:名無しさん@お腹いっぱい。
05/12/11 08:09:16 .net
Windowsで正規表現にマッチする文字列のみ(行全体じゃなく)を表示・保存するにはどうすればいいのでしょうか?
xyzzyとかのエディタのgrepでやろうとしたのですが、検索してもよくわかりません。
Rubyとかスクリプト言語を使わないと無理でしょうか?


528:名無しさん@お腹いっぱい。
05/12/11 08:13:57 .net
上すいません。書きこむスレ間違えました。(プログラム板の正規表現スレに書きこんだつもりでした。)

529:名無しさん@お腹いっぱい。
05/12/11 11:19:25 .net
ちょうど一回出るんなら何かの順序でソートして文字列が完全一致することをチェックかなあ

530:名無しさん@お腹いっぱい。
06/01/01 11:16:33 .net
エディターの正規表現で置き換えをしたいんですが・・・
1、2、3、・・・という連番を
(1) (2) (3)というふうに置き換えたいのですが
どうしたらよいでしょうか。

531:名無しさん@お腹いっぱい。
06/01/01 11:57:28 .net
まずは(ry

532:名無しさん@お腹いっぱい。
06/01/01 12:39:56 .net
置換元:[1-9]
置換先:(\0)
で、できるかもよ。

533:名無しさん@お腹いっぱい。
06/01/01 17:30:57 .net
>>526
だめでした。


534:名無しさん@お腹いっぱい。
06/01/01 19:50:58 .net
置換元:[1-9][0-9]*
置換先:\(\0\)
こんな風にすればできるのかな?
どんな風に駄目だったかわからないけれど。

535:名無しさん@お腹いっぱい。
06/01/01 20:02:16 .net
>>528
それもやってみましたが、検索はされるのですが、
置き換えが出来ません。(0)となってしまいます。
前回のは(となってしまいます。
エディターだから駄目なのでしょうか。


536:名無しさん@お腹いっぱい。
06/01/01 20:09:51 .net
\0のところを、
\1
$1
にしても同じかな?

537:名無しさん@お腹いっぱい。
06/01/01 20:13:18 .net
>>530
($1)となってしまいます。


538:名無しさん@お腹いっぱい。
06/01/01 20:17:25 .net
そのエディタの正規表現がreference(\1とか$1とか)をサポートしてないに1票。

539:名無しさん@お腹いっぱい。
06/01/01 21:27:04 .net
!(^^)!ピンポーンです。
ヘルプを見ていたら、referenceはサポートしていないと出ていました。
他のエディターを探すか、どうしたらいいでしょうか。


540:名無しさん@お腹いっぱい。
06/01/01 23:17:07 .net
続きです
結局QXエディタをダウンロードして使いました。
びっくりしたのはWindows上では
正規表現というのは全然一般的ではないんですね。
勉強しようにも正規表現サポート自体が脆弱だったんですね。


541: 【大凶】 3回目
06/01/01 23:32:29 .net
ググればなんぼでも出てきます。少し自分で考えなはれ。

542:名無しさん@お腹いっぱい。
06/01/03 22:49:27 .net
まあやることがハッキリ決まってるんなら、
(念の為)対象ファイルのカレントディレクトリのDOS窓を開いてsed、だな。

543:名無しさん@お腹いっぱい。
06/01/07 07:00:27 .net

{aaa}[bbb}{ccc}
という文字列から、aaa bbb cccをそれぞれマッチさせてとりだしたいので、

/¥{(.*)¥}¥{(.*)¥}¥{(.*)¥}/

としていましたが、
とりだしたい文字列のなかに、さらに{}がはいっていることがあることが
わかりました。
{aaa}[b{b}b}{ccc}
とか。
それぞれaaa b{b}b cccというかたちでとりだしたいのですが、どうしたものでしょうか。


544:名無しさん@お腹いっぱい。
06/01/07 10:07:50 .net
>>537
sedはそのままでok

545:名無しさん@お腹いっぱい。
06/01/07 14:56:41 .net
グループ化用のカッコにエスケープが必要だからsed「では」ダメじゃないの?
Perlならエスケープ不要なので大丈夫。

ところで>>537はテクニシャンだな。
navi2chで円マーク(¥じゃないほう)を表示させやがって…

546:名無しさん@お腹いっぱい。
06/01/07 15:36:35 .net
>>539
ヒント:}{

547:名無しさん@お腹いっぱい。
06/01/07 15:46:46 .net
いや、それは分かってるつもりだけど。
sedだと例えば{(aaa)}{(bbb)}{(ccc)}にマッチしちゃいますよってこと。

548:名無しさん@お腹いっぱい。
06/01/07 17:31:15 .net
>>541
じゃあ不必要な{}()を最初にスペースに変換してからマッチさせたら

549:名無しさん@お腹いっぱい。
06/01/07 18:58:38 .net
そんな必要ない。sedでも>>537のカッコをすべてエスケープすれば良い。
>>538の「sedは」というのが余分だっただけ。

550:名無しさん@お腹いっぱい。
06/01/12 05:55:00 .net
郵便番号をPHPで「1234567」から「123-4567」へ整形する正規表現を教えて下さい。

551:名無しさん@お腹いっぱい。
06/01/12 11:06:51 .net
>>544
【PHP】質問スレッドpart32【php】
スレリンク(php板)

552:名無しさん@お腹いっぱい。
06/01/13 16:59:36 .net
すいません。
--------------------------------
#hogehoge
fugafuga 1
--------------------------------
という風に行頭が#じゃないというのを正規表現で取得したいのですが
「ではない」というのが分かりません。
bashを用いております。
以上 ご助力をお願いいたします。

553:名無しさん@お腹いっぱい。
06/01/13 20:50:59 .net
>>546
grep -v '^#'

554:名無しさん@お腹いっぱい。
06/01/13 21:08:39 .net
>>546
grep '^[^#]'


555:名無しさん@お腹いっぱい。
06/01/13 21:29:57 .net
いつも思うけど、
[^#] 形式だと文字が存在してないときも除外してしまうので
面倒なことあるよね。
ディレクトリリストから
.
..
を除外しようと
[^.][^.].*
を使って一文字のファイル見逃すとか。

556:名無しさん@お腹いっぱい。
06/01/13 21:47:30 .net
>>549
その方が便利なこともある。

557:544
06/01/16 17:54:29 .net
ご教授ありがとうございます。
本当に助かりましたっ

558:名無しさん@お腹いっぱい。
06/01/22 02:37:32 .net
正規表現の正規表現ってどうかきますか?
ある値が正規表現の構文に沿っているかどうかを調べたいとき。

559:名無しさん@お腹いっぱい。
06/01/22 02:48:16 .net
入れ子があるから正規表現にはならない。
BNFを書けば3型文法に属さないこと分かるでしょ。

560:名無しさん@お腹いっぱい。
06/01/26 11:22:53 .net
いきなりすんません
2ちゃんねるブラウザ Jane Doe Style で正規表現検索を使おうとしたけど、書き方がいまいち分かりません。
F900i という文字列だけを検索して F900is や F900iT はヒットさせないようにするには、どう書けば良いですか
ぐぐってもいまいちわからないので。。。。

561:名無しさん@お腹いっぱい。
06/01/26 11:25:48 .net
板違い。

562:名無しさん@お腹いっぱい。
06/01/26 11:32:56 .net
スマンです。でもスレタイ検索してもほかに質問できそうな場所なかったんけどだめですか。

UNIX 085 正規表現 (553)
プログラム 408 正規表現part2 (102)
プログラマー 283 【Regular】正規表現【Expression】 (36)

563:名無しさん@お腹いっぱい。
06/01/26 11:36:10 .net
板違い。

564:名無しさん@お腹いっぱい。
06/01/26 11:49:12 .net


565:名無しさん@お腹いっぱい。
06/01/26 13:16:13 .net
>>554
Jane Doe Style とやらがどんな正規表現エンジンを使っているかにも
激しく依存する話なので、
まずはそのソフトのスレで聞いてみた方が良いと思う。

566:名無しさん@お腹いっぱい。
06/04/15 16:30:37 .net
(・∀・)

567:名無しさん@お腹いっぱい。
06/04/18 03:51:57 .net
onigruma... 気になる。名前が怖い。

568:名無しさん@お腹いっぱい。
06/04/18 09:54:32 .net
nekoguruma だったら弱そうだしな

569:名無しさん@お腹いっぱい。
06/05/02 22:56:16 .net
>>562
いろいろ運べそうじゃないか

570:名無しさん@お腹いっぱい。
06/05/29 20:29:06 .net
正規表現厨には
grep --color


571:名無しさん@お腹いっぱい。
06/05/31 19:33:06 .net
勉強ついでに554を考えてみた。精度に難がありそうですが、以下でどうだろう?

[^A-Zz-z0-9]*F900i[^A-Za-z0-9]*


572:成瀬 ◆NBGqNARUSE
06/06/16 03:35:29 .net
>>565
最低限試そう。"F900iS"=~/[^A-Zz-z0-9]*F900i[^A-Za-z0-9]*/ はマッチする。
ヒント: \W \b 否定先読み

573:名無しさん@お腹いっぱい。
06/07/25 12:40:49 .net
...
Doll ←ここから
\=\-\--\-``--`\=`-==\
\=-\=-\``\==`=`--`-=-

Egg
-=-\-=-\-\=-=--\=-=-=\
-=-\-=-=\=-=\=-=-\-=\- ←ここまで

Fruits
...

のときDoll~Eggの項目まで抽出するにはどうしたらいいですか?
/Doll/,/Fruits/ でおおまかには抽出できるけどもっと正確に抽出したいのです

574:名無しさん@お腹いっぱい。
06/08/09 21:11:53 .net
『詳説 正規表現 第3版』 が今月発売されるね。
邦訳版の出版は知らんけど。

575:名無しさん@お腹いっぱい。
06/08/10 13:32:24 .net
情報サンクス。
けど、洋書なら原書のタイトル表記でよろしく。
早とちりして必死で oreilly.co.jp と amazon.co.jp 探しちゃったよー。(←あほ)

576:名無しさん@お腹いっぱい。
06/08/10 21:53:00 .net
>>569
URLリンク(www.oreilly.com)

わざわざ、邦訳版の出版は知らんって書いたのになw

577:名無しさん@お腹いっぱい。
06/08/18 16:48:08 .net
URLリンク(oraclesqlpuzzle.hp.infoseek.co.jp)
正規表現の問題集らしい

578:名無しさん@お腹いっぱい。
06/08/18 17:01:57 .net
>>568
作者宣伝乙、
というのは冗談で、情報ありがと。
日本語版はいつ出るんだろ。

579:名無しさん@お腹いっぱい。
06/08/23 13:58:51 .net
立ち読みとか読んだうちに入らんと思われた。

580:名無しさん@お腹いっぱい。
06/08/23 17:31:35 .net
>>177
URLリンク(oraclesqlpuzzle.hp.infoseek.co.jp)
こんなのもあるみたいやね

581:名無しさん@お腹いっぱい。
06/10/05 15:46:12 .net
age

582:名無しさん@お腹いっぱい。
06/10/16 10:51:27 .net
ageとくか

583:名無しさん@お腹いっぱい。
06/10/17 01:00:23 .net
質問させてください。

正規表現を用いたgrepをするときに、
文字列"foo"を含まない全ての行にマッチさせるためには
どのように書けばよいのでしょうか。

584:名無しさん@お腹いっぱい。
06/10/17 01:13:12 .net
-v

585:名無しさん@お腹いっぱい。
06/10/17 08:26:14 .net
man に書いてあるよ。

586:名無しさん@お腹いっぱい。
06/10/17 08:26:50 .net
-v オプションを使わずに、正規表現上で「文字列"foo"を含まない」を表す方法を
聞いているんじゃないだろうか?

587:名無しさん@お腹いっぱい。
06/10/17 09:48:51 .net
(?!foo)

588:名無しさん@お腹いっぱい。
06/10/17 11:12:35 .net
>>581
今はgrepでの話をしてんだろ。

589:名無しさん@お腹いっぱい。
06/10/17 13:02:02 .net
>>577
否定先読み

590:名無しさん@お腹いっぱい。
06/10/17 13:37:52 .net
>>583
正規表現でできるものか!
先読み、後読み共に否定は貧弱

591:名無しさん@お腹いっぱい。
06/10/17 18:14:48 .net
「一致しない」はあらゆる箇所にマッチするからね
行単位の処理とは基本的に相容れないし

正規表現でなく、-vのようなメタレベルで対処するのが正解
sedとかでもいいな

592:名無しさん@お腹いっぱい。
06/10/17 19:17:42 .net
>>585
なんで、.*?(?!xxx) を、xxxが一切含まない行、と解釈してくれないんですかね?

593:名無しさん@お腹いっぱい。
06/10/17 19:55:43 .net
論理的に考えてみればわかるよ

594:名無しさん@お腹いっぱい。
06/10/18 09:59:12 .net
>>587
欲張りマッチだから、xxxが見つかった段階で一文字戻ってマッチにしちゃう?

595:名無しさん@お腹いっぱい。
06/10/18 11:10:22 .net
>>586
解釈するわけがない

596:名無しさん@お腹いっぱい。
06/10/20 10:45:16 .net
^(?!.*foo)
でできるだろ

スレリンク(tech板)l100
の1のサイトをよく読め

597:名無しさん@お腹いっぱい。
06/10/24 10:00:30 .net
正規表現でできることの仕様ってずっとこのままなんですかね。
括弧の対を考慮した表現とかって簡単にならないかな。

598:名無しさん@お腹いっぱい。
06/10/24 11:17:38 .net
処理系ごとに拡張してあったりするじゃん。

599:名無しさん@お腹いっぱい。
06/10/24 11:28:08 .net
hp-uxのgrep糞だなw
\< \>が使えん。


600:名無しさん@お腹いっぱい。
06/10/24 12:07:18 .net
grepツールで、htmlのコメント内を検索対象からはずしてgrepできるツールありますか?
コメントで死ぬほど引っかかって苦労してます。
複数行コメント中の真ん中ぐらいの行に引っかかっても、先頭に<!--がないから
普通のgrepツールだときびしいです。

601:名無しさん@お腹いっぱい。
06/10/24 12:13:02 .net
sedしかないだろ。


602:名無しさん@お腹いっぱい。
06/10/24 12:24:01 .net
-- の対応まで見ようとするとつらそうだ。

603:名無しさん@お腹いっぱい。
06/10/24 21:37:54 .net
複数行になると途端にわけわからんくなるな・・・。

604:名無しさん@お腹いっぱい。
06/10/26 05:24:59 .net
改行位置を変換する前処理をしてからやるとか

605:名無しさん@お腹いっぱい。
06/10/26 11:38:24 .net
コメントを
s/<!(?:--[^-]*-(?:[^-]+-)*?-(?:[^>-]*(?:-[^>-]+)*?)??)*(?:>|$(?!\n)|--.*$)//g
で取り除いてからgrepすればいいんじゃね?

606:名無しさん@お腹いっぱい。
06/11/03 14:20:22 .net
マルチで済まない。

同じ文字が3文字連続していたら表示したいのだが

607:名無しさん@お腹いっぱい。
06/11/03 15:02:08 .net
>>599
>s/<!(?:--[^-]*-(?:[^-]+-)*?-(?:[^>-]*(?:-[^>-]+)*?)??)*(?:>|$(?!\n)|--.*$)//g
この部分はsed?
だったら、その後もgrepなんかせずに、sedだけで完結すればいいじゃん。
awkでも同じく。


608:<sage>
06/11/10 19:30:45 .net
教えて下さい。

ダブルクオートで囲まれていない、コンマだけを置き換えたいのですが、
正規表現では、どうあらわせばいいのでしょうか?

例:
"aaa, bbb" xxxx, "ccc, ddd" yyyyyy

xxxx, <- このコンマを -> xxxx; とセミコロンにしたいです。

よろ

609:名無しさん@お腹いっぱい。
06/11/13 23:01:55 .net
>>602
スレリンク(tech板)l100
のリンク先嫁


610:<sage>
06/11/14 15:35:11 .net
>> 603
そのページのどこを読めと?

611:名無しさん@お腹いっぱい。
06/11/22 14:36:47 .net
>>604
ほぼ全部
雑魚には無理な正規表現ってこった

612:名無しさん@お腹いっぱい。
06/11/22 20:49:29 .net
氏ね

613:名無しさん@お腹いっぱい。
06/11/26 13:47:54 .net
>>602

◆関連サイト
正規表現メモ
URLリンク(www.kt.rim.or.jp)
Perl正規表現雑技
URLリンク(www.din.or.jp)
Regular Expression(Riue ちゃんの正規表現講座)
URLリンク(www.sixnine.net)
正規表現パズル
URLリンク(oraclesqlpuzzle.hp.infoseek.co.jp)
詳説 正規表現
URLリンク(www.oreilly.co.jp)
正規表現プログラミングFAQ
URLリンク(capslockabcjp.kitunebi.com)

これだけ読めば解決できるが
池沼には無理

614:名無しさん@お腹いっぱい。
06/12/04 14:18:49 .net
アルファベットの文字で構成されるが、「d」は入らない、を
[a-ce-z]以外の書き方で表現する方法はないですか?

もちろん↓はエラーだけど、こんな漢字で書ければいいのだけれど。

[a-z][^c]

615:名無しさん@お腹いっぱい。
06/12/04 19:22:18 .net
a|b|c|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z

616:名無しさん@お腹いっぱい。
06/12/04 22:02:59 .net
>>608
javaならできる

617:名無しさん@お腹いっぱい。
06/12/04 22:08:51 .net
d|i|g|i|t|a|l


618:名無しさん@お腹いっぱい。
06/12/05 09:35:00 .net
>>610
どうやるんだべさ?

619:名無しさん@お腹いっぱい。
06/12/06 02:45:07 .net
>>612
[[a-z]&&[^d]]
こんな感じだったと思う。


620:名無しさん@お腹いっぱい。
06/12/06 09:44:34 .net
>>613
うぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉ~、すげぇ~。できました!
javaだとこんなのができるのか!
もちろん正規表現標準じゃないので、perlとか秀丸正規表現ではできないかぁ・・・

javaならではの裏技って他に何かあるんですかね?

621:名無しさん@お腹いっぱい。
06/12/06 12:20:30 .net
>>614
うぉ++


622:名無しさん@お腹いっぱい。
06/12/06 12:23:51 .net
タイプ数増えてるのは問題ないのかw

623:615
06/12/06 12:51:07 .net
>>614
わざわざjavaで試した行動力に感服

強欲マッチといわれる615もためしてみるといい

624:名無しさん@お腹いっぱい。
06/12/06 13:11:31 .net
java使う人ならタイプ数が増えることが問なさそう

625:名無しさん@お腹いっぱい。
06/12/06 14:12:54 .net
>>615
うぉ+でいいんじゃないの?なんか違うの?

626:名無しさん@お腹いっぱい。
06/12/06 17:58:50 .net
(+_+;)

627:名無しさん@お腹いっぱい。
06/12/07 02:56:32 .net
>>619

違うよ。++が付いたほうはバックトラックしない。
Perlの (?> ...) と同じ。


628:名無しさん@お腹いっぱい。
06/12/16 17:28:28 .net
1~1000
までの数字から始まって最後が
C]
で終わる正規表現を教えて下さい
m(_ _)m

629:名無しさん@お腹いっぱい。
06/12/16 17:45:19 .net
^[0-9]\{1,4\}[^0-9]*C]$
かな?


630:名無しさん@お腹いっぱい。
06/12/16 17:55:45 .net
>>623
駄目でしたorz
正規表現の勉強してきます。
有難うございましたm(_ _)m

631:名無しさん@お腹いっぱい。
06/12/16 19:58:43 .net
^([1-9][0-9]\{0,2\}|1000)[^0-9]*C]$
こうか?


632:名無しさん@お腹いっぱい。
06/12/17 00:31:38 .net
タイトル:文字列 の文字列の部分だけを取り出したいのですが、
どのような正規表現にすれば良いのでしょうか?
よろしければ、ご教授を願います。


633:名無しさん@お腹いっぱい。
06/12/17 00:34:12 .net
いろいろ出ているようだけど
[0-9].*C]
ではダメな理由がわからない

634:名無しさん@お腹いっぱい。
06/12/17 00:52:14 .net
>>626
文..

635:名無しさん@お腹いっぱい。
06/12/17 07:34:54 .net
>>627
全然ダメ

0000C
がヒットする

636:名無しさん@お腹いっぱい。
06/12/28 11:54:55 .net
初歩な質問ですみませんが
[0-9a-zA-Z]で英数字にマッチするものとなると思うのですが
例えばajgko-jk-s1olのように「-」記号が入っているとマッチしません
どう記述すればよいですか?よろしくお願いします。

637:名無しさん@お腹いっぱい。
06/12/28 11:57:12 .net
>>630
[-0-9a-zA-Z]

638:630
06/12/28 12:01:22 .net
>>631
さんありがとうございます。
しかし上記のように記述しても読み込んでくれません・・・。
こう記述して[-0-9a-zA-Z]{10,10}
「BC-K-o58tB」これを認識してくれません。


639:名無しさん@お腹いっぱい。
06/12/28 12:09:19 .net
どのアプリ使ってんのよ

640:名無しさん@お腹いっぱい。
06/12/28 12:10:47 .net
>>632
ちゃんとマッチするけど・・


$ echo 'BC-K-o58tB' | egrep '[-0-9a-zA-Z]{10,10}'
BC-K-o58tB

641:630
06/12/28 12:11:07 .net
アプリ?良くわかりませんが言語PHPです。

642:名無しさん@お腹いっぱい。
06/12/28 12:11:52 .net
ならPHPのスレで聞いた方がいいんじゃね

643:630
06/12/28 12:16:40 .net
PHPのスレで聞いたら正規表現に行けと言われました。orz

644:名無しさん@お腹いっぱい。
06/12/28 14:04:02 .net
無限ループキタ━━━(゚∀゚)━━━ !!!!


645:名無しさん@お腹いっぱい。
06/12/28 21:33:37 .net
PHPだとPOSIX由来の正規表現とPerl互換の正規表現があるけどどっち?
後者を使っているならpreg_match('/[-0-9a-zA-Z]{10,10}/', $str)みたいに
正規表現の前後にスラッシュが必要。

646:名無しさん@お腹いっぱい。
06/12/29 11:07:30 .net
正規表現 part 3
スレリンク(tech板)


647:名無しさん@お腹いっぱい。
07/01/09 23:17:53 .net
始めたばっかりで、3時間かかってもダメです… お助けを。

()で囲まれる任意の文字部分だけをとりたいんですが、
\(..*\) では全然ダメですね… ()もついてくるし。

*****(ABC-_)(123%&)*****(あいう)***

上の例だと、以下の3つを取りたいです。
ABC-_
123%&
あいう

648:名無しさん@お腹いっぱい。
07/01/09 23:43:33 .net
>>641
sed -e "s/(.*)/()/g" でどうよ

649:名無しさん@お腹いっぱい。
07/01/10 00:12:39 .net
>>642
Unix版でしたね…
Windows系でのやり方を知りたいです。

650:名無しさん@お腹いっぱい。
07/01/10 00:19:56 .net
>>642
基礎からやり直せ。


651:名無しさん@お腹いっぱい。
07/01/10 01:41:33 .net
>>642
なんか冗長だが...

use strict;
use warnings;
while(<>){
  s{(?:[^(]*)\(([^)]*)\)(?:[^(]*)}{[$1]}g;
  print $_;
}

652:名無しさん@お腹いっぱい。
07/01/10 01:42:28 .net
>>643
Windowsにもsedは移植されてるじゃん。


653:名無しさん@お腹いっぱい。
07/01/10 01:59:51 .net
>>643
板違い。

654:名無しさん@お腹いっぱい。
07/01/18 10:55:44 .net
>>641
正規表現でググレカス

655:名無しさん@お腹いっぱい。
07/02/07 08:21:33 .net
すみません、以下の正規表現は何にマッチするんでしょうか?
([\011\012\014 -~]+\\|\\(\\cj\\|\n\\)+\\)
処理系はLispです。お願いします。

656:名無しさん@お腹いっぱい。
07/02/08 02:57:00 .net
>>649
LispつかEmacs Lispだろ。先頭に \\ が抜けてないか?

[\011\012\014 -~]+   タブかLFかCRかスペースかASCIIの表示可能文字の繰り返し

\\| または

\\(\\cj\\|\n\\)+  Cjって多バイト文字でいいんだっけ? か改行の繰り返し



657:649
07/02/08 15:45:20 .net
>>650
すみません、おっしゃる通り先頭に\\が抜けていました。
なるほど、どうもありがとうございました。

658:名無しさん@お腹いっぱい。
07/03/27 16:10:01 .net
コンマはエスケープする必要はありますか?

We are NOVA-TOMO\, right?

659:名無しさん@お腹いっぱい。
07/03/27 17:34:57 .net
必要ないと思った。付けても問題ないと思うけど。
むしろ?の方が…
俺詳しくないから何ともいえないけど

660:名無しさん@お腹いっぱい。
07/03/28 01:44:02 .net
カンマはどの正規表現でもメタ文字じゃないのでエスケープの必要はない。
むしろ >>653のいうとおりで ? が要注意。

grep/sed ならエスケープなしでOK。
egrep/awk/perl その他Perl互換のものなら要エスケープ


661:名無しさん@お腹いっぱい。
07/04/21 22:17:17 .net
当方、秀丸を使っております。
“・”で始まる文で、「」で囲まれた文をヒットさせるのにはどうすればよいのでしょうか?
どうしても、「」で囲まれる前の文章もヒットしてしまうのです。

662:名無しさん@お腹いっぱい。
07/04/21 22:55:33 .net
>>655
秀丸とやらはUnixで動くのかい?

663:名無しさん@お腹いっぱい。
07/04/21 23:03:01 .net
げ、UNIX版でしたか!
失礼しました。

664:名無しさん@お腹いっぱい。
07/05/04 12:21:16 .net
ニフティーのドメイン以外を拾う為に [^nifty]\.com と書くのは間違いのようですが

特定の“文字列”以外を指定するのはどーすりゃいいの?

665:名無しさん@お腹いっぱい。
07/05/04 12:44:28 .net
否定先読みなどの拡張があればそれを使えばいいが、なくても
それ以外の文字列をすべて列挙すればなんとかなります。


666:名無しさん@お腹いっぱい。
07/05/04 13:59:38 .net
grep -v '特定の文字列' filename


667:名無しさん@お腹いっぱい。
07/05/04 14:35:47 .net
正規表現の話では?

([^n]....|.[^i]...|..[^f]..|...[^t].|....[^y])\.com

これが正解

668:名無しさん@お腹いっぱい。
07/05/04 14:54:42 .net
nifty.com以外のナントカ.comにマッチさせたいのだから、

([^n].*|n[^i].*|ni[^f].*|nif[^t].*|nift[^y].*)\.com

ではないか?

669:名無しさん@お腹いっぱい。
07/05/04 14:56


670::11 .net



671:名無しさん@お腹いっぱい。
07/05/04 14:58:05 .net
それではniftyhoge.comにマッチしないので

([^n].*|n[^i].*|ni[^f].*|nif[^t].*|nift[^y].*|nifty..*)\.com


672:名無しさん@お腹いっぱい。
07/05/04 15:58:18 .net
perlならもうちょっと簡単?
perl -ne 'print if /(?<!nifty)\.com/'

grep -v とか否定を使うほうが素直だと思うけど。

673:名無しさん@お腹いっぱい。
07/05/04 16:31:54 .net
ヒネクレたひとたちばかりいるスレですから

674:名無しさん@お腹いっぱい。
07/05/04 16:44:04 .net
このスレの中くらいは正規表現原理主義でいいじゃないか

675:名無しさん@お腹いっぱい。
07/05/05 00:26:33 .net
その為のスレなんだから当然といえば当然だろ


676:名無しさん@お腹いっぱい。
07/05/21 19:09:39 .net
はふ

677:名無しさん@お腹いっぱい。
07/05/28 22:36:56 .net
-rwxrwxr-x 1 53 53 3504 May 22 2006 index.htm
drwxrwxr-x 4 53 53 4096 May 6 2006 common
drwxrwxr-x 2 53 53 4096 May 22 2006 tmp
drwxrwxr-x 2 53 53 4096 May 22 2006 image

↑から<属性>(-rwxrwxr-x)と<名称>(index.htm)の部分をグループ化で取り出したいのですが、どのようにすればよいのでしょうか?


678:名無しさん@お腹いっぱい。
07/05/28 22:48:40 .net
ここは実は分かってない奴しかいねーから無理じゃね?ww

679:名無しさん@お腹いっぱい。
07/05/29 00:05:12 .net
>>670
グループ化って言うのがよくわからんけど、パーミッションの部分とファイル名の部分だけ取り出したいなら

$ perl -e 'while(<>){ if(/^([^\s]*)\s*([^\s]*)\s*([^\s]*)\s*([^\s]*)\s*([^\s]*)\s*([^\s]*)\s*([^\s]*)\s*([^\s]*)\s*(.*)$/){ print "$1 $9\n"; }}' < test.txt
-rwxrwxr-x index.htm
drwxrwxr-x common
drwxrwxr-x tmp
drwxrwxr-x image
$

ぐらいからはじめればいい。

680:名無しさん@お腹いっぱい。
07/05/29 01:44:17 .net
確かにみんなもっとスマートに書けないものかねえ・・・

681:名無しさん@お腹いっぱい。
07/05/29 02:31:04 .net
^([^\s]+)(.*)([^\s]+)$

$1 $3


682:名無しさん@お腹いっぱい。
07/05/29 03:06:51 .net
(; ^ω^)

683:名無しさん@お腹いっぱい。
07/05/29 07:07:47 .net
むしろ正規表現使わないでreaddirとstat使うとこじゃないか?


684:名無しさん@お腹いっぱい。
07/05/29 15:00:33 .net
$ ls -al | sed -e 's/ \{1,\}/ /g' | cut -d ' ' -f 1,9

cut 使うのは反則?

685:名無しさん@お腹いっぱい。
07/05/30 16:06:37 .net
awk '{print $1,$9}'
で十分では無かろうかと

686:名無しさん@お腹いっぱい。
07/09/01 07:33:23 .net
gawkでJavaソースファイル内の「識別子」単位の置き換えをしようとしていますが,
なかなかうまくいきません.
たとえば,独立して現れる「Stack」は「Queue」に置き換えるが,
「argStack」は別の識別子だから「argQueue」とは置き換えず
そのままにしておくというものです.
Javaの識別子は[_0-9A-Za-z]の文字だけから構成されるとしています.
awk以外の選択肢も含めて,よい方法がありますでしょうか?
最終的には,Javaで置換プログラムを書けばできなくもないとは思いますが,
安直な方法があればお教えください.

687:名無しさん@お腹いっぱい。
07/09/01 08:57:42 .net
\< \> で囲っておくとか。

688:679
07/09/01 19:15:56 .net
grepの「-w」は普通にできるのに,いざ置換で同じことをしようとすると
難しいですね.
結局Javaで処理プログラムを書きました.ありがとうございました.

689:名無しさん@お腹いっぱい。
07/11/21 09:09:36 .net
hogeを含む行のうち^\s*'で始まらないもの
をgrepするのにvimでは
\(^\s*'.*\)\@<!hoge
でできるようなんですが、サクラで
(?<!^\s*'.*)hoge
とするとダメでした。
これをgrepするにはどうすればいいでしょうか?

サクラ(bregexp.dll)の正規表現はPerl5互換だそうなんですが。

690:名無しさん@お腹いっぱい。
07/11/21 09:53:00 .net
板違い。

691:名無しさん@お腹いっぱい。
07/11/21 11:08:21 .net
じゃあ
hogeを含む行のうち^\s*'で始まらないもの
にマッチするPerl5正規表現を答えよ。
とします。

692:名無しさん@お腹いっぱい。
07/11/21 11:28:24 .net
ム板行け。

693:情報工学ばが
08/01/15 20:48:47 .net
正規表現ってなんですか?

694:情報工学ばが
08/01/15 20:50:24 .net
はやく!!!
単位がないんです!!

695:情報工学ばが
08/01/15 20:51:45 .net
お願いします。。。

696:わし
08/01/15 20:55:01 .net
わしにはわからん。


697:名無しさん@お腹いっぱい。
08/01/16 01:21:45 .net
>>686
【サルにもわかる正規表現入門】
URLリンク(www.mnet.ne.jp)

698:名無しさん@お腹いっぱい。
08/01/16 12:24:11 .net
>>690
有難うございました。
おかげで単位取れそうやでー!!
ほな

699:名無しさん@お腹いっぱい。
08/01/17 00:37:01 .net
語り手緊急募集中!!

坐禅と見性第54章 片手の他人がたたく拍手の音
スレリンク(psy板)

【仏教】悟りを開いた人のスレ 10 【鬼和尚】
スレリンク(psy板)

【悟りで居る】悟りを開いた人スレ【完全お釈迦様派】
スレリンク(psy板)

萬福寺行った。1.2
スレリンク(kyoto板)

【茶の湯】  大徳寺について  【禅文化】
スレリンク(kyoto板)

臨済宗 大本山天龍寺 2
スレリンク(kyoto板)

【算盤】臨済宗 妙心寺派【金権】十五日は祝聖
スレリンク(kyoto板)

★★臨済宗・癖有り布教師さん★★
スレリンク(kyoto板)

臨済宗国泰寺派について
スレリンク(kyoto板)

臨済宗相國寺派について
スレリンク(kyoto板)

700:名無しさん@お腹いっぱい。
08/02/24 13:39:51 .net
2008-03 発売(予定)
「詳説 正規表現 第3版」 (Jeffrey E.F. Friedl 著 / 長尾高弘 訳)
ISBN 978-4-87311-359-3 定価 5,040円


701:名無しさん@お腹いっぱい。
08/02/24 17:10:30 .net
バイト代が全部本で消えていく・・・

702:名無しさん@お腹いっぱい。
08/02/24 18:03:30 .net
あるある

703:名無しさん@お腹いっぱい。
08/02/26 14:03:08 .net
2/1 XXXXXXXX
2/2~2/5 XXXXXXXXX
2/7~2/8 XXXXXXX
2/12 XXXXXXXXXX
2/20~2/28 XXXXXXXXX

と書かれた行があり 今日より以前の日付の行を削除するにはどうすればいいですか

704:名無しさん@お腹いっぱい。
08/02/26 15:50:38 .net
それは正規表現の問題か?

705:名無しさん@お腹いっぱい。
08/02/26 17:23:03 .net
Cの構造体のようにネストする可能性のあるものを正規表現で抽出するにはどうすればいいでしょうか?

706:名無しさん@お腹いっぱい。
08/02/26 17:26:13 .net
無理

707:名無しさん@お腹いっぱい。
08/02/26 21:47:00 .net
>>699
正解

708:名無しさん@お腹いっぱい。
08/02/26 22:31:20 .net
>>696
日付の切り出しを正規表現でやって、日付の判定以降はプログラムでがんばれ。

709:名無しさん@お腹いっぱい。
08/03/06 14:24:40 .net
sedを使って
2007/1/2
2007/1/23
2007/12/2
2007/12/31
のデータを
2007/01/02
2007/01/23
2007/12/02
2007/12/31
にするにはどうすればいいですか



710:名無しさん@お腹いっぱい。
08/03/06 14:28:44 .net
sed -e 's,/1/,/01/,' -e 's,/2$,/02,'

711:名無しさん@お腹いっぱい。
08/03/06 17:14:22 .net
>>703
9日近く書き込み無いのによく質問に高速で答えられますね
尊敬するとともに変態だと思います。

712:名無しさん@お腹いっぱい。
08/03/06 17:15:08 .net
別に何日書き込みがなかろうが関係ない。

713:名無しさん@お腹いっぱい。
08/03/06 22:36:13 .net
>>704
今時ブラウザでみてる奇特な人かな?

別にこのスレを毎日人手でチェックしてるわけじゃなくて、
専ブラの巡回リストに入ってるだけのことだと思うよ。

まあ、確かに4分でレスするのはちょっとすごいが
よくよく見たら 2007/3/3 とかは変換しない...
ほんとにそれでいいのか? >>702

714:名無しさん@お腹いっぱい。
08/03/06 23:43:20 .net
>>703もわざとその答えにしたんだろ。
要するに質問の仕方が悪いって事だ。

715:ウサチャソ ◆/0IEZmXnQ6
08/03/17 21:53:04 .net
>>702
ゼロサプレス 正規表現
とか
ゼロパディング 正規表現
とかでググってみるといいかモナー
最近sedは使ってないから漏れはやり方知らんw

716:名無しさん@お腹いっぱい。
08/03/18 14:24:00 .net
どの文字列にもマッチしない正規表現ってどう書くんでしょう?

717:名無しさん@お腹いっぱい。
08/03/18 16:47:03 .net
(?<=a)a

718:名無しさん@お腹いっぱい。
08/03/19 09:09:37 .net
空文字列にもマッチしない?

719:名無しさん@お腹いっぱい。
08/03/19 23:02:47 .net
しないよ
というか自分で試せよ

720:名無しさん@お腹いっぱい。
08/03/21 00:44:43 .net
710って、aaにマッチするよ
戻り読みの位置が違うんじゃね?


721:名無しさん@お腹いっぱい。
08/03/21 20:07:35 .net
(?!a)a
こうかな

722:名無しさん@お腹いっぱい。
08/06/02 10:30:14 .net
Vimでファイルの中からhttpで始まり、htmlで終るURLを抜きだしたいのですが、
どのようにすれば可能でしょうか?
いろいろと試してはいるのですが、行中の最大にマッチする等なかなかうまくできません。

723:名無しさん@お腹いっぱい。
08/06/02 11:38:21 .net
最短でマッチさせたらさせたで、
ディレクトリのどこかに .html があると破綻する

724:名無しさん@お腹いっぱい。
08/06/03 08:27:21 .net
emacs(の置換)と
perlのそれぞれで、

「日本語の文字列」を指定する正規表現が知りたいのですが、
どこを見ればよいでしょうか?

「ASCII文字を含まない文字列」でもOKです。


725:名無しさん@お腹いっぱい。
08/06/03 13:33:02 .net
>>717
(info "(elisp)Regexp Backslash")
| `\cC'
| matches any character whose category is C. Here C is a character
| that represents a category: thus, `c' for Chinese characters or
| `g' for Greek characters in the standard category table.

というのがあるんだけど、C の説明が無いね。
\cj だった気がするけど、不具合があるかもしれん。

ASCII 以外だと、↓これはいかが?
(info "(elisp)Char Classes")
| `[:multibyte:]'
| This matches any multibyte character (*note Text
| Representations::).


726:名無しさん@お腹いっぱい。
08/06/03 14:36:53 .net
>>718

ありがとうございます。emacsのinfoではなく、
elisp infoにあるんですね。

「日本文字にはさまれたascii空白」を検索したかったので、

emacsでは"¥cj ¥cj" でだいたいよさそうです。

(どういうわけか
[:multibyte:]や[:nonascii:]
という指定は
C-u C-s などではうまく動いてくれないようなのですが・・・
(ascii文字の一部にマッチしてしまう)


727:名無しさん@お腹いっぱい。
08/06/03 14:41:33 .net
>>719
> (どういうわけか
> [:multibyte:]や[:nonascii:]
> という指定は
> C-u C-s などではうまく動いてくれないようなのですが・・・
> (ascii文字の一部にマッチしてしまう)

[[:multibyte:]] としんとだめやよ。

728:名無しさん@お腹いっぱい。
08/06/03 18:33:15 .net
あ、そういうことか!どもです。

729:名無しさん@お腹いっぱい。
08/09/04 15:15:43 .net
URLリンク(codezine.jp)
やたら難しいのですが。
詳説正規表現を読めば、解けるようになりますかね?


730:名無しさん@お腹いっぱい。
08/09/05 01:34:49 .net
>>722

難しいか? それ。


731:名無しさん@お腹いっぱい。
08/09/18 18:37:47 .net
>>722
プログラミングperlの正規表現の解説部分を
読んでもなんとかなるかも(´・ω・`)

732:名無しさん@お腹いっぱい。
08/09/28 20:34:23 .net
>>722
詳説正規表現は文字通り「詳説」。
正規表現を使うことが目的の人にはヘビーすぎる。


733:わいきむら
08/10/20 09:09:22 .net
空の文字クラス'[]'はどういう意味になりますでしょうか?
あと'-'が文字クラスの最後にある場合もダッシュとマッチせよ
という意味になるのでしょうか?

734:わいきむら
08/10/20 09:12:46 .net
すみませんダッシュじゃなくてハイフンですか

735:船木康博
08/10/20 09:14:08 .net
さーてと、
パソコンに於ける衛生面についてカキコして、
とりあえずここらでアクティブソナーにQSYするかなー♪

・VDT症候群に注意。
・腱鞘炎に注意。
・大音量による聴覚障害に注意。

マウスは玉の有り無しで、オスとメスがあるでよ。
光にも種類があるし、トラックボールもあるし。たまには玉の辺りの掃除でもしてやってくれ。
ボタンも林檎の1個や米窓の2個じゃなくて、SUNあたりなら3個あったんじゃねぇかなぁ。
最近じゃあ、ホイールも回転方向以外に左右に振れるのもあるでよ。

最後は、鍵盤だ。雑菌が繁殖して、便所より汚いモノもあるでなぁ。
病気移しちゃあいけねぇで、触らせる相手は自分で判断して制限しろよ。
おいもかはまぐり触った手かもしれねぇし、汁がとんでるかもしれねぇからな。

736:名無しさん@お腹いっぱい。
08/10/21 02:39:30 .net
>>726

中身が空の [] はわからんが、末尾のハイフンはその通り。
範囲指定じゃなくてハイフンそのものとして解釈される。


737:名無しさん@お腹いっぱい。
08/10/22 17:48:58 .net
質問させてください。

Fortranのコードから、「subroutine abc()」「 subroutine abs()」のような
サブルーチンの開始行だけをgrepで抽出したくて
grep ^\s*subroutine ./*.f90
と書いたのですが、「 subroutine」で始まる行がマッチしていないようです。
どのようにしたらこれをマッチさせられるか教えてください。

ちなみに、コード内には
「! subroutine abc()」「!subroutine abc()」なども含まれています。

738:730
08/10/22 19:23:26 .net
>>730どなたか、ほんとお願いします!!

739:ウサチャソ ◆/0IEZmXnQ6
08/10/22 21:00:29 .net
>>730
' とか " で括ってないとか?

話逸れるけど、grep は egrep が一番速いらしいよ。
egrep は「(・∀・)イイ!! 」grep!
なんっつってw

はぁ~…

740:730
08/10/22 21:25:28 .net
>>732そのとおりでした。

grep "^\s*subroutine" ./*.f90
としたらうまくいきました、ありがとうございます。


.....なんでこんなことに.....orz orz orz

741:名無しさん@お腹いっぱい。
08/10/23 03:40:28 .net
「(・∀・)イイ!! 」grep!

742:名無しさん@お腹いっぱい。
08/11/08 14:16:27 .net
ムズいなこれ

URLリンク(codezine.jp)
URLリンク(codezine.jp)


743:名無しさん@お腹いっぱい。
08/11/15 20:26:45 .net
機能的にegrepのが遅そうな気がするけど

744:名無しさん@お腹いっぱい。
08/11/19 14:37:34 .net
>>735
正規文法(正規言語)には定義があるけど
正規表現に「数学的に厳密な定義」は存在しないと思うんだけどねー
まあ>>51でがいしゅつだったからどうでもいいや


745:名無しさん@お腹いっぱい。
09/04/26 16:15:06 .net
教えていただけますでしょうか。

1(文字列A)文字列B

というものを
(文字列A)文字列B

にするのはどう書けばよいのでしょうか。
文字列A、文字列Bとも長さは不規則です。

746:名無しさん@お腹いっぱい。
09/04/30 17:32:03 .net
sed 's/^.//'

747:名無しさん@お腹いっぱい。
09/04/30 17:38:33 .net
すみませんが詳しい方のみ回答をお願いします

748:名無しさん@お腹いっぱい。
09/04/30 18:41:27 .net
日本語や英語など特定の文字列をgoogle検索のリンクにしたいです。
例えば、「正規表現」という文字列をgoogleのリンクにしたい場合だと、

正規表現(せいきひょうげん、regular expression)とは、
文字列の集合を一つの文字列で表現する方法の一つである。
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
<a href="URLリンク(www.google.co.jp)">正規表現</a>
(せいきひょうげん、regular expression)とは、
文字列の集合を一つの文字列で表現する方法の一つである。

としたいです。ただし
・繰り返し1語1語適用することで複数の単語をリンク化する
 または一発で複数の単語をリンク化する方法でもいい
・すでにリンクされているものを二重にリンクしない
・タグ内の文字列はリンク化しない
・英語は文章内の単語が完全一致すればリンク化し、
 日本語は部分一致したらリンク化する
・英語の連語には対応しなくていい。
・リンク化したい文字列が「正規」「正規言語」などのように
 「正規」⊂「正規言語」という関係のものは想定しない
使う言語はAWK、Sed、Perlのいづれかとする。

お願いします。

749:名無しさん@お腹いっぱい。
09/04/30 19:14:08 .net
その質問は正規表現スレで扱う範囲を越えてます。

750:名無しさん@お腹いっぱい。
09/05/18 22:21:54 .net
8桁の10進数を文字列とみなしたとき、
下2桁が"00"でない文字列をヒットしたい。如何すればよいか?

751:名無しさん@お腹いっぱい。
09/05/18 22:33:28 .net
[0-9]{6}[1-9]{2}

752:名無しさん@お腹いっぱい。
09/05/19 08:56:24 .net
[1-9][0-9]{5}([0-9][1-9]|[1-9][0-9])

753:名無しさん@お腹いっぱい。
09/06/03 22:23:08 .net
正規表現でアルファベット6文字というのはどう書けばいいでしょう?

[A-z][A-z][A-z][A-z][A-z][A-z]

これじゃださいですよね?

754:名無しさん@お腹いっぱい。
09/06/04 09:42:14 .net
[A-z]{6}

755:名無しさん@お腹いっぱい。
09/06/04 09:57:06 .net
[A-z]だと[\]~_`を含むよ。[A-Za-z]{6}にしなはれ

756:名無しさん@お腹いっぱい。
09/06/04 10:22:05 .net
POSIX 正規表現が使えるなら [[:alpha:]]{6} とか。

757:名無しさん@お腹いっぱい。
09/06/04 10:29:36 .net
POSIX文字クラスはロケール依存の罠があるから避けた方が無難と思う

758:名無しさん@お腹いっぱい。
09/06/05 02:21:52 .net
POSIX 文字クラスって [[:isalpha:]] みたいのを言うんじゃなかったっけ?



759:名無しさん@お腹いっぱい。
09/06/05 02:23:34 .net
おっとなんか馬鹿なこと書いてしまった。

[a-z] も locale でどうマッチするかかわったりするよ?


760:名無しさん@お腹いっぱい。
09/06/13 13:28:45 .net
ホント? \w とかなら変わると思うけど、
[a-z] は locale に依らず ASCII コードの範囲になるのでは?

761:名無しさん@お腹いっぱい。
09/06/17 02:14:08 .net
書き込み禁止されてた。

>>753
どのUNIXでもそうなるとは断言できないけど、locale が en_us.UTF-8 とかのときに
a-z が aAbB….yYz な集合になるものもあるよ。

POSIX的には コード順だと定義はしてはいなかったはず。



762:名無しさん@お腹いっぱい。
09/06/17 08:44:18 .net
文字列の範囲はロケールに依存する。例えば、エストニア語のアルファベット
では、s の後に z があり、その後は t、u、v、w、x、y と続くので、[a-z] で
はすべての小文字のアルファベットにマッチしない

763:名無しさん@お腹いっぱい。
09/06/22 05:54:23 .net
うふふ

764:名無しさん@お腹いっぱい。
09/06/25 21:28:07 .net
>>754
それはlocaleの問題でもOSの問題でもないだろ
例えばlgrepはデフォルトがcase insensitiveだし


765:名無しさん@お腹いっぱい。
09/06/26 17:56:44 .net
>>757
問題が理解できてないようだな。君は話に加わらなくて良いよ。

766:名無しさん@お腹いっぱい。
09/06/26 18:09:55 .net
それだけだとかわいそうなので補足すると、
>>754 が言ってるのは case sensitivity の問題じゃないよ。

>>754 のレスの「aAbB….yYz」をよーく目をこらしてみてごらん。
ロケールによってはこういう不思議現象が起こるのよという話。

767:名無しさん@お腹いっぱい。
09/07/13 21:38:46 .net
ジオ落ちててonigurumaのソースが落とせん。
だれかミラー的なもの知らない?

768:名無しさん@お腹いっぱい。
09/07/13 21:50:51 .net
いや、あったは、ミラー。<mirrorservice.orgとか

769:名無しさん@お腹いっぱい。
09/09/19 19:50:17 .net
()内の、で区切られたものを
1(あああ、1) → 1(1、あああ)
2(ううう、3) → 2(3、ううう)
3(えええ、1) → 3(1、えええ)
のように入れ替えたいです。
条件は
・括弧は半角全角どちらでも対応。出力はどちらかに統一する。
・(あああ、いいい、ううう)のように3つ以上あるのは無視する

それと、こうやってもうまくいかないのは何故でしょうか?
sed -e 's/(/\(/g' -e 's/)/\)/g' -e 's/、/,/g' test.txt |
sed 's/\(([^,)]*),([^,)]*)\)/(\\2、\\1)/g'

770:名無しさん@お腹いっぱい。
09/09/19 19:51:30 .net
こうやれば望みどおりの結果は出たのですが、
汎用性が低いのでもっとちゃんとしたのを作るにはどうしたらいいですか?

#!/bin/awk -f
BEGIN { FS="((|)|\\(|\\)|、| | +)" }
{
{print $1"("$3"、"$2$4")";}
}

771:名無しさん@お腹いっぱい。
09/12/05 13:45:25 .net


772:名無しさん@お腹いっぱい。
10/06/02 05:32:30 .net


773:名無しさん@お腹いっぱい。
10/06/02 17:20:06 .net
URLリンク(arrow3.way-nifty.com)
URLリンク(www.codezine.jp)
URLリンク(mckyblog.img.jugem.jp)
URLリンク(www19.atpages.jp)
URLリンク(makotowatana.ld.infoseek.co.jp)


774:名無しさん@お腹いっぱい。
10/09/23 21:58:59 .net
行頭にある>以外の>を置換したいのですが、どのように記述できるでしょうか?


775:名無しさん@お腹いっぱい。
10/09/24 11:09:22 .net
>>767
ヘタレな処理ですみません。動けば正義。
echo '>1>2>3>4>5>' | perl -ne '/^(.)(.*)/; ($a,$b)=($1,$2); $b=~s/>/*/g; print "$a$b\n";'

776:名無しさん@お腹いっぱい。
10/10/03 22:07:49 .net
>>767
行頭にもし「>」が複数有れば二ツ目以降を削除する処理と
「>」以外が一文字以上続いてから「>」が一文字以上出現する文字列を
「>」以外が一文字以上続いている部分に置換する。
以上。

777:名無しさん@お腹いっぱい。
10/10/10 09:52:22 .net
>>769
性器表現で書けよニダ

778:名無しさん@お腹いっぱい。
10/10/11 21:58:34 .net
>>770

^>>+とか[^>]+とか
あえて書くことに意味は無いし、
削除や置換は正規表現では書けない。

文章の表面ではなく、コンテキストを嫁。

779:名無しさん@お腹いっぱい。
10/12/12 10:48:21 .net
/RegEx/ - 便利な正規表現、みんなで共有
URLリンク(regex.gkbr.me)

780:名無しさん@お腹いっぱい。
11/01/11 08:29:20 .net

EmacsとpTeXを使っています。
pTeXでは日本語の括弧はいわゆる全角で書かないときれいに出ないみたいなので、
「(日本語)」のような表現を一発で「(日本語)」のように変換したいたと思うのですが、
これはどう書けばいいのでしょうか。

(日本語abc)や(Abc日本語)や(Abc日[改行コード]本語)のようなものにも
対応しなければならないような気がします。(abc)のようなのはそのままにしておきたいです。
てことは、 「両端が()で、()のなかにmultibyte文字が1文字でも入っているもの、複数行にも
マッチする」という条件でよさそうなのですが、どうでしょうか。

"([[:multibyte:]]+)"で(日本語)の形のやつまではわかったのですが、
その先に進めません。PerlのスクリプトでもOKですので教えてもらえないでしょうか。



781:名無しさん@お腹いっぱい。
11/01/11 15:02:53 .net
>>773
入れ子になった括弧には未対応。
(replace-regexp "(\\([^\\(]*[[:multibyte:]][^\\)]*\\))" "(\\1)")

# pLaTex で otf 使えば大丈夫だったような?

782:名無しさん@お腹いっぱい。
11/01/11 17:55:06 .net
ありがとうございます。うまく動くようです。

OTFパッケージの方は実験してみましたがやっぱり()と()は区別しているような・・・

783:名無しさん@お腹いっぱい。
11/03/12 12:19:28.18 .net
apacheのmod_rewriteでURLを書き換えたいと思っています。
以下が.htaccessのコードになります。
-------------------------------------------------------------------------
RewriteEngine On
RewriteRule ^([a-z0-9_-]+).htm$ execute.php?id=$1
-------------------------------------------------------------------------

例えば、”URLリンク(moge)”にアクセスすると”URLリンク(moge)”と同じようになるというものです。
ディレクトリにはexecute.phpの他にindex.htmを置きたいと思っているのですが、上のhtaccessを設置すると、”URLリンク(moge)”に飛ばされてしまいます。そこで、正規表現で特定の単語(index)を除外するにはどうすればいいのでしょうか?
ご回答お願いします。

784:名無しさん@お腹いっぱい。
11/03/12 14:53:45.34 .net
Rewriteが htmなら

index.html ファイルにする

785:776
11/03/12 15:37:35.48 .net
>>777
あ、なるほど
確かにそれでもいけますね
さんくすです

ちなみに正規表現で特定の単語だけ除外っていうのはできないのでしょうか??

786:名無しさん@お腹いっぱい。
11/03/16 20:14:08.75 .net
否定先読みでおk
あとマルチ乙

787:名無しさん@お腹いっぱい。
11/03/29 11:43:28.27 .net
すっごく基本的なことで申し訳ないんだけど
aaaを含んでいてbbbを含まない行
ってのはどう書くんですか。

788:名無しさん@お腹いっぱい。
11/03/29 12:00:15.87 .net
それは正規表現だけでやらなきゃだめなのかい?

789:名無しさん@お腹いっぱい。
11/03/29 12:06:43.95 .net
grepでログの特定行を抽出したくて

790:名無しさん@お腹いっぱい。
11/03/29 12:20:13.45 .net
grep -v

791:名無しさん@お腹いっぱい。
11/03/29 12:29:14.56 .net
>>782
GNU grep で grep aaa logfile | grep -v bbb ってのじゃだめ?

792:784
11/03/29 12:30:38.86 .net
かぶったか

793:名無しさん@お腹いっぱい。
11/03/29 12:47:45.98 .net
ああ、そっか。-v
ありがと

794:名無しさん@お腹いっぱい。
11/04/08 01:34:57.59 .net
vimの置換で以下のようなデータを置換したいです
hoge(半角空白*****)\tsage\t

hoge\tsage\t

:%s/ //g だとhogeが ho ge だったりもするので
半角空白が続く\tを\tにしたいです。
どなたかご教示お願いします

795:名無しさん@お腹いっぱい。
11/04/08 02:09:54.62 .net
>>787
:%s/ \+\t/\t/g
とか?

本当にやりたいのは gg=G とか Align じゃないの

796: 忍法帖【Lv=11,xxxPT】
11/06/22 16:55:34.67 .net
aからz、かつAからZ、かつ0から9、かつその他記号(!"#$...)を含ませたいです。
[a-z&&A-Z&&0-9&&[^a-z^A-Z^0-9]]
とやってみたのですがうまく行きません。(´;ω;`)
どう表現すればいいでしょう。

797:名無しさん@お腹いっぱい。
11/06/22 17:10:25.90 .net
.

798:名無しさん@お腹いっぱい。
11/06/22 17:38:34.78 .net
>>789
むしろ含みたくない文字を列挙したほうが早いんじゃね?

799:名無しさん@お腹いっぱい。
11/06/23 00:03:09.64 .net
>>789
それは印字可能な文字から空白を除いたものなんじゃあないのかい

800:名無しさん@お腹いっぱい。
11/07/08 22:03:29.79 .net
肯定条件と否定条件、常にペアで考えたいところです

801:名無しさん@お腹いっぱい。
11/08/03 03:28:35.00 .net
>>787

:%s/\(半角空白\**\)//g

・・・ではなくて、Excelでいう所のtrim関数みたいな動作か?

802:名無しさん@お腹いっぱい。
12/03/07 21:00:09.49 .net
gsedをターミナルで実行したとき、
丸数字の1~20が[\x{2460}-\x{2473}]でマッチせず
「無効な範囲の終端」というエラーメッセージが出ます。
何を間違えているのでしょうか。


803:名無しさん@お腹いっぱい。
12/03/07 22:36:48.15 .net
>>794
> :%s/ //g
当人がチャレンジした結果がこれだから、タブ区切りの各値をtrimしたいんだろうと思うよ。

> 半角空白が続く\tを\tにしたい
ってことだから>>788でいいと思う。でも>>788の後半は違うと思う。

804:名無しさん@お腹いっぱい。
12/03/07 22:41:28.98 .net
このスレ最近見てたと思ってたのに、8月だと…

805:名無しさん@お腹いっぱい。
12/03/08 05:24:46.29 .net
>>795の自己レス
よく解らないのだけど、コードでなくそのまんま①から⑳(文字化けしていたらごめんなさい)
まで、1行ずつの置換行を書き並べたらうまくいきました。
コードだと1行ずつ書いてもダメでした。エラーは出なかったからコード間違えたかな。


806:名無しさん@お腹いっぱい。
12/05/27 23:08:25.45 .net
linuxのgrepでgreenとつく単語を検索したいのですが、どういう正規表現を使えばよいのでしょうか

807:名無しさん@お腹いっぱい。
12/05/28 08:03:03.12 .net
>>799
くだらねえ質問はここに書き込め! Part 200
スレリンク(linux板)

808:名無しさん@お腹いっぱい。
12/11/13 18:47:33.56 .net
リンゴ 1個
ミカン 2個
イチゴ 1個
スイカ 1個
スイカ 3個
ナシ
トマト
トマト
トマト
パイナップル

809:アップミス失礼しました
12/11/13 18:51:10.04 .net
リンゴ 1個
ミカン 2個
スイカ 1個
スイカ 3個
イチゴ 2個
トマト 1個
トマト 3個
トマト 5個

リンゴ 1個
ミカン 2個
スイカ 1個 3個
イチゴ 2個
トマト 1個 3個 5個
のように整理したいとき、正規表現で実現可能ですか?

810:名無しさん@お腹いっぱい。
12/11/13 21:24:23.96 .net
何言ってんだ。

811:名無しさん@お腹いっぱい。
12/11/14 02:50:13.58 .net
>>802
例えば
sed
スレリンク(unix板)l50

812:名無しさん@お腹いっぱい。
12/11/16 20:13:34.67 .net
リンゴ 1個
スイカ 1個
ミカン 2個
スイカ 3個
イチゴ 2個

元データがこうなってない前提ならでき�


813:驍ゥもしれない



814:名無しさん@お腹いっぱい。
12/11/16 21:56:43.28 .net
なってても出来ないことはないと思える

815:名無しさん@お腹いっぱい。
12/11/17 00:18:53.21 .net
いや、正規表現どうこうって話じゃないだろ

816:名無しさん@お腹いっぱい。
12/11/17 03:31:10.85 .net
まあ、そうだね

817:名無しさん@お腹いっぱい。
12/11/17 15:01:28.93 .net
出発点になるテキストが規則的であればあるほど作業が楽になる。

818:名無しさん@お腹いっぱい。
12/11/17 16:45:39.64 .net
sedスレで聞いてないね。perlやawkなど、どこか他で見た? ってか、本人どうしたの?

819:名無しさん@お腹いっぱい。
12/11/18 02:35:29.83 .net
釣りだったようだな。

820:802
12/11/20 15:26:50.28 .net
いろいろ研究中ですが、釣りじゃありませんw
他のスレにまで投稿すると、マルチで蹴られてしまうからです。

821:名無しさん@お腹いっぱい。
12/11/20 16:03:55.39 .net
マルチは同じ話題が並行して進行するのが問題。
ちゃんと移動すればマルチじゃないよ。

822:名無しさん@お腹いっぱい。
12/11/20 18:49:22.20 .net
以下のような文章があったとします。
~aaa~bbbaaa~bbbaaa~bbb~
(~は文字数の定まっていない文字列を表しています。)
ここから、それぞれ最初のaaa~bbbだけを抽出、真ん中のaaa~bbbだけを抽出、最後のaaa~bbbだけをで抽出したい時、どう正規表現で表せばよいのでしょうか?

823:名無しさん@お腹いっぱい。
12/11/20 20:13:44.36 .net
sedじゃだめなのかよ

824:名無しさん@お腹いっぱい。
12/11/21 02:55:30.50 .net
「aaa」と「bbb」を例えば「【」「】」に置き換えてみると楽かも。
【があって、】以外のものがあるかないかして、】があったとき
が検索パターンってことになるよね。ここまでが正規表現。
その後は、1回目にマッチしたときだけ吐き出す、最後にマッチしたものだけ……
は、何を使うかで変わってくる。

825:名無しさん@お腹いっぱい。
12/11/21 07:09:17.34 .net
>>816
「【」「】」に置き換えるんじゃなく、「aaa」と「bbb」の例でお願いします。
「【」「】」みたいな1文字じゃなく、「aaa」「bbb」みたいな複数文字なので。
しかも、「aaa」と「bbb」の間に普通の文字としてa bもあります。

826:名無しさん@お腹いっぱい。
12/11/21 08:20:17.05 .net
こいつ、何もわかってない

827:名無しさん@お腹いっぱい。
12/11/21 10:34:37.69 .net
perlの正規表現使わないと無理だと思うよ。

828:名無しさん@お腹いっぱい。
12/11/21 11:10:04.60 .net
こんな感じかな?
aaa[^b]*\(b\{0,2\}[^b]\+\)*b\{0,2\}bbb

829:名無しさん@お腹いっぱい。
12/11/21 11:16:22.41 .net
>>813の直後なのにマルチ

830:名無しさん@お腹いっぱい。
12/11/21 11:18:53.62 .net
移動してるからマルチじゃないだろ

831:名無しさん@お腹いっぱい。
12/11/21 11:27:34.16 .net
もっとタイムリーに本人出てこないとダレるわ

832:名無しさん@お腹いっぱい。
12/11/21 11:41:33.62 .net
>>822
スレリンク(tech板:421番)

833:名無しさん@お腹いっぱい。
12/11/21 11:43:27.15 .net
>>824
おお、なるほど。
そんなところにも正規表現スレあったのか。

834:名無しさん@お腹いっぱい。
12/11/21 11:48:07.59 .net
マルチか。もう知らん。

835:名無しさん@お腹いっぱい。
12/11/21 19:22:47.43 .net
別人だと言ってるけど、それにしては似すぎ

836:名無しさん@お腹いっぱい。
12/11/21 19:39:46.55 .net
こっちの見て書いたんだろ。
別人だとしてもマルチと変わらんな。

837:名無しさん@お腹いっぱい。
12/11/21 19:53:25.11 .net
ここにもある。なんか、もうやだw

シェルスクリプト総合 その21
スレリンク(unix板)l50

838:名無しさん@お腹いっぱい。
12/11/21 19:55:53.48 .net
というよりシェルのが大元なのか。まあ、移動すると書いてあるからいいか。

839:名無しさん@お腹いっぱい。
12/11/21 23:32:17.64 .net
こっちの奴は句読点付けてるのな

840:名無しさん@お腹いっぱい。
12/11/22 00:06:51.47 .net
> シェルスクリプトスレより誘導されてきました
って書いてあんじゃん。ってかなんでこっちのスレで話を続けてるのかがわからん。
マルチうざい放置でスルーしよ

841:名無しさん@お腹いっぱい。
12/11/22 00:32:49.10 .net
どっちが偽物とか関係なく、向こうの正規表現スレだけで進行させときゃ済む話だしな

842:名無しさん@お腹いっぱい。
13/03/08 21:56:18.88 .net
すみません
(1)
(2)
(30)
(50)
(123)
(256)
こんな感じのデータを
(001)
(002)
(030)
(050)
(123)
(256)
こんな感じで変換するのはどうしたらいいんでしょうか?

843:名無しさん@お腹いっぱい。
13/03/09 00:11:09.75 .net
sed -e 's/(\([0-9]\))/(00\1)/' -e 's/(\([0-9][0-9]\))/(0\1)/'

844:名無しさん@お腹いっぱい。
13/03/09 08:01:38.44 .net
すみませんが詳しい方のみ回答をお願いします

845:834
13/03/09 08:24:40.01 .net
>>835
うまくいきましたありがとうございました。"-e"でスクリプトを2つ記述すればよかったんですね
なんか頭が固くて思いつきませんでした…。助かりました。

846:名無しさん@お腹いっぱい。
13/03/09 11:33:06.26 .net
パイプもあるでよ

847:名無しさん@お腹いっぱい。
13/03/10 04:11:12.59 .net
>>834, >>836-837
二度とこのスレに来るな。(俺が>>835でないのは命を懸けて誓う)

848:名無しさん@お腹いっぱい。
13/03/10 12:21:19.60 .net
このスレに来るな。(キリッ
命を懸けて誓う(キリッ

2ちゃん初めてか? 肩の力抜けよ。

849:名無しさん@お腹いっぱい。
13/03/10 15:01:39.61 .net
そりゃ>>835ではないだろ。

850:名無しさん@お腹いっぱい。
13/03/10 18:41:45.07 .net
しかし>>836の悪態はへどがでる

851:名無しさん@お腹いっぱい。
13/03/10 19:19:40.33 .net
836 はウニ板で普通に見かける煽りレスだろ

852:名無しさん@お腹いっぱい。
13/03/12 21:07:11.26 .net
質問です
正規表現使うとだーって英文テキストの変換が出来るじゃないですか
そこで各英単語の頭文字のみをわーって大文字に変換したいんです
出来ますの?勿論ググりましたが、当方馬鹿なのでわかりません
サルでも分かるような回答を強く期待します
僕はこういう小バカにしたような書き方しか出来ませんが、凄く切実に知りたいです
さぁどうぞ↓

853:名無しさん@お腹いっぱい。
13/03/12 21:36:04.74 .net
>>844
引用符の中の単語はどう扱いますか?
``internationalization'' 等の長い単語が改行処理で ``-'' を使用して
分割された場合はどう扱いますか?
などなど, 例外事項が多々発生します.
すべての例外事項を網羅した上で, 各条件の対応方法を明記した上で
再質問したください.

854:名無しさん@お腹いっぱい。
13/03/12 21:40:19.06 .net
>>844 だけで答えられる方によるサルでも分かるような回答を強く期待します
さぁどうぞ↓

855:名無しさん@お腹いっぱい。
13/03/12 22:16:49.08 .net
こいつネタであちこちに書いてるやつだから
まともに相手してもムダだよ。

856:名無しさん@お腹いっぱい。
13/03/12 23:24:14.34 .net
>>844
> 正規表現使うとだーって英文テキストの変換が出来るじゃないですか
いや?

857:名無しさん@お腹いっぱい。
13/03/13 04:58:06.84 .net
大抵のアプリケーションにはデフォルトで付いてる機能だよな。
MS-Wordとかさw

858:名無しさん@お腹いっぱい。
13/03/13 08:04:10.12 .net
>>845
横レス済まんが、仮にクォーテーションやハイホネーション無視でいいから
単語1文字目を大文字に、って要求だったら、あんた


859:答えられるのかね?



860:名無しさん@お腹いっぱい。
13/03/13 09:38:14.58 .net
>>850
いや
それがなにか?

861:名無しさん@お腹いっぱい。
13/06/14 04:31:45.66 .net
<
じゃね? 単語の始まり

862:名無しさん@お腹いっぱい。
13/07/15 NY:AN:NY.AN .net
何かネタないの?

863:名無しさん@お腹いっぱい。
13/07/15 NY:AN:NY.AN .net
先日、他部署を交えて開かれた社内技術交換会でのこと。
先輩は自分が開発担当したあるソフトのコーディング中に思いついたという
ある文字列処理のプログラミングについて得意気に解説し始めた。
話し始めてしばらくして、隣の部署の人が口をはさんだ。
「それ、正規表現使えば済む話ですよね。スクリプトならsedとかで、
C言語からならregex(3)の関数群呼べばいいし。ウチでも昔はそれ専用の
文字列処理をいちいちコーディングしてたこともありますが
今ではregex(3)ばかり使ってます。ところで今日のお話というのは、
regex(3)を改良する方法か何かですか?」
そのあと先輩の話は支離滅裂になり、何の技術交換会だったのか
よく覚えていない…

864:名無しさん@お腹いっぱい。
13/07/15 NY:AN:NY.AN .net
勉強会だったら別にいいじゃん
文字列処理に役立たなくてもコーディング技術の勉強になれば
正規表現のライブラリが使えるのと正規表現のロジックを編み出すのは全く別の話
なんで別の部署の奴は得意げなんだ?
正規表現の存在を知ってる俺カッケーってこと?

865:名無しさん@お腹いっぱい。
13/07/15 NY:AN:NY.AN .net
コピペニマジレスカコワルイ

866:名無しさん@お腹いっぱい。
13/07/15 NY:AN:NY.AN .net
↓ヤンクがどうたら

867:名無しさん@お腹いっぱい。
13/07/15 NY:AN:NY.AN .net
コピペすなわちコピー&ペーストはWindoze用語。
UNIX(vi)ではヤンク&プットなのでヤンプと言う。

この用語を間違えて使用しているとドザと思われて馬鹿にされるので
気を付けるように。

868:名無しさん@お腹いっぱい。
13/07/15 NY:AN:NY.AN .net
(´・ω・`)ノ ハーイ!

869:名無しさん@お腹いっぱい。
13/08/30 NY:AN:NY.AN .net
家畜人ヤンプ

870: 【中吉】
13/09/01 04:33:31.70 .net
\(..*\) ←どうしたって顔文字に見えちゃうよねぇ

871:名無しさん@お腹いっぱい。
13/09/01 07:39:33.31 .net
ホスト規制で使用する正規表現の「(、|、)」の使用法について質問です。
「tanaka.co.jp」「tanaka.ne.jp」の両方を規制したい場合
「\.tanaka.(co|ne).jp」であっていますでしょうか?

872:名無しさん@お腹いっぱい。
13/09/01 07:59:41.15 .net
それだと .tanakainenjp とかでもマッチしてしまいます

873:名無しさん@お腹いっぱい。
13/09/01 08:46:24.81 .net
うしろ2つのピリオドもエスケープしろってこと。

874:名無しさん@お腹いっぱい。
13/09/01 09:12:06.75 .net
ありがとうございます!
「\.tanaka\.(co|ne)\.jp」ですね

875:名無しさん@お腹いっぱい。
13/09/22 06:34:10.28 .net
そろそろ保守し続けないといけない?

876:名無しさん@お腹いっぱい。
13/12/20 05:42:21.79 .net
>>861
見えちゃう、見えちゃう。って、あれ、自分で書いたんだったorz

877:名無しさん@お腹いっぱい。
14/02/10 17:15:58.93 .net
そっか、保守必要なのか

878:名無しさん@お腹いっぱい。
14/03/27 02:42:30.48 .net
てす

879:名無しさん@お腹いっぱい。
14/03/27 07:28:06.64 .net
>>869
[test] 書きこみテスト 専用スレッド 12 [テスト]
スレリンク(unix板)

880:名無しさん@お腹いっぱい。
14/03/27 07:58:50.65 .net
>>870
「てす」は保守目的ジャマイカ?

881:名無しさん@お腹いっぱい。
14/03/27 09:03:14.23 .net
保守目的なら「ほす」だろう。

882:名無しさん@お腹いっぱい。
14/03/27 10:42:31.43 .net
そうか、そうだな。許してほす

883:名無しさん@お腹いっぱい。
14/05/31 04:04:08.83 .net
「正規表現」って変な名前だけど、定着してきたみたいだね?

884:名無しさん@お腹いっぱい。
14/05/31 05:56:12.12 .net
定着も何もコンピュータ上で実現される以前からこの名前じゃねーの?

885:名無しさん@お腹いっぱい。
14/05/31 06:16:13.32 .net
正規表現は誤訳が定着したもの。
「無理数」の誤訳と一緒。

886:名無しさん@お腹いっぱい。
2014/0


887:5/31(土) 06:44:21.84 .net



888:名無しさん@お腹いっぱい。
14/05/31 06:57:48.92 .net
さらに有理数なんて、無理数の無を有に変えた造語だしな。

889: 【小吉】
14/06/01 03:33:37.47 .net
このスレの住人はどうやら5人のようだ

890:名無しさん@お腹いっぱい。
14/06/01 06:19:33.54 .net
複素数も誤訳

891:名無しさん@お腹いっぱい。
14/06/01 09:45:27.06 .net
正しい訳語を提示せずに誤訳誤訳叫ぶとか馬鹿にしか見えませんよ?

892:名無しさん@お腹いっぱい。
14/06/01 12:03:50.34 .net
>>879
俺も居るよ

893:名無しさん@お腹いっぱい。
14/06/01 12:06:10.74 .net
教えて欲しいなら教えてくださいといって聞かないと馬鹿にしか見えませんよ?

894:名無しさん@お腹いっぱい。
14/06/01 12:16:06.10 .net
regular expression の正しい訳語を教えてください。

895:名無しさん@お腹いっぱい。
14/06/01 12:22:55.67 .net
今ごろ聞いても馬鹿にしか見えませんよ?

896:名無しさん@お腹いっぱい。
14/06/01 12:36:00.41 .net
今頃って最初から聞き返されてるじゃん何いってんのコイツ

897:名無しさん@お腹いっぱい。
14/06/01 12:59:00.89 .net
「教えてくださいといって聞かないと」と言われてからそう聞き直しても馬鹿にしか見えませんよ?

898:名無しさん@お腹いっぱい。
14/06/01 13:44:27.82 .net
>>887
こういう気持ち悪いのはだいたいFreeBSDユーザー

899:名無しさん@お腹いっぱい。
14/06/01 13:48:57.65 .net
>>888
こういう気持ち悪い偏見を持ってるのはだいたいLinuxユーザー

900:名無しさん@お腹いっぱい。
14/06/01 14:14:59.03 .net
で、適切な訳語ってなんなの?
それとも、馬鹿に見えた相手には教えちゃ駄目な宗教にでも入信してるのかな。

901:名無しさん@お腹いっぱい。
14/06/01 14:28:45.17 .net
こういう誤訳に反応するのはだいたいNetBSDユーザー

902:名無しさん@お腹いっぱい。
14/06/01 16:15:23.61 .net
けっきょく正しい訳語言えないのね。

903:名無しさん@お腹いっぱい。
14/06/01 16:28:21.90 .net
訳語は訳者の著作物だからなぁ。こんなところに書いて権利放棄したくないし。

904:名無しさん@お腹いっぱい。
14/06/01 16:48:08.97 .net
どんだけ高尚な訳語が出てくるのが楽しみだから、論文でも書いてどっかで発表してからまた来てくれ

905:名無しさん@お腹いっぱい。
14/06/01 18:01:17.16 .net
翻訳に関して世界一頑張ったのは日本人なんだって、どこかで読んだな。

906:名無しさん@お腹いっぱい。
14/06/01 18:54:28.33 .net
表意文字使ってるから頑張れば単語レベルで訳して意味を振れるんだよな。
カタカナ英語の乱用が白い目に見られるから訳せる分は訳そうとしたり。

中国とかはどうなんだろ?

907:名無しさん@お腹いっぱい。
14/06/04 00:29:16.48 .net
レギュラーエスプレッソ

908:名無しさん@お腹いっぱい。
14/06/08 10:36:43.20 .net
regular 正則
normal 正規

909:名無しさん@お腹いっぱい。
14/09/01 20:44:42.15 .net
>>896
正規表現は正則表達式。
正規分布は正態分布。
正規化は規範化。

非正規社員は臨時工。

910:名無しさん@お腹いっぱい。
14/09/25 21:32:43.40 .net
関西弁に反応する?正規表現
# 暇な人、できたら修正してやって下さい
# chaika 等で利用する目的の為、JavaScript の正規表現です
# spawned at 2ch.net/unix/正規表現
# スレリンク(unix板:900番)
# news4vip/1395152022/ を参考にしました

# Rev.001
(?:
 [^い]や|
 や(?:[でわろ]|ねん|んか|んけ|けど|ない|んけ)|
 るで|とるわ|[わが]な
)w*[、。?!\s]|
アホ|あほ|ホンマ|ほんま|アカン|あかん|ええで|なんでなん|
ええ(?:やろ|やん|な|わ)|
ちゃう(?:か|やん)|
でき(:?ん|ひん)|
(?:しとる|ない|よる)ねん|
(?:変わ|分か?)らん|
言うたかて

911:名無しさん@お腹いっぱい。
14/10/16 20:19:07.96 .net
世紀表現とワイルドガードの違いを一言でゆうと何になりますか?

912:名無しさん@お腹いっぱい。
14/10/16 22:11:18.07 .net
>>901
聖飢魔II

913:名無しさん@お腹いっぱい。
14/10/17 05:10:53.04 .net
双生児

914:名無しさん@お腹いっぱい。
14/12/07 09:12:49.01 .net
ネタない?

915:名無しさん@お腹いっぱい。
15/01/16 17:48:43.41 .net
|tac|sed -n '/./,/.\n/p'|tac|sed -n '/./,/.\n/p'
これは標準入力の中の上下の無駄な改行を全て削除します
perlの正規表現でやるならどう書けばよろしいでしょうか?

916:名無しさん@お腹いっぱい。
15/01/16 18:15:48.11 .net
ム板で聞いた方がいいんじゃね

917:名無しさん@お腹いっぱい。
15/01/16 23:09:51.63 .net
>>905
(・∀・)アッテルカナ?
(・∀・)もっと別の書き方も見てみたい

perl -0777 -pe 's/\A\n+//s; s/\n+\Z/\n/s'

918:名無しさん@お腹いっぱい。
15/01/17 07:12:32.01 .net
(・∀・) $ デナク /.\n/ デアル理由ガワカラナイケド、コウ解釈シテ、カイテミタ
(標準入力の)複数行テキストの始まりと終わりの連続した改行を、削除する

(・∀・) Unix板コソ正規表現ニフサワシイト思ッテイマス
sed -e '1{:a;/^\n*$/{N;ba;};s/\n*//;};:b;/^\n*$/{${/^\n*$/d;};N;bb;}'

(・∀・) オ!自分デモ使イソウナノデ、ホゾンシトコウ
sed -e '
  1 {
    :loop1;
    /^\n*$/ {
      N;
      b loop1;
    };
    s/\n*//;
  };
  
  :loop2;
  /^\n*$/ {
    $ {
      /^\n*$/ d;
    };
    N;
    b loop2;
  }
'

(;・∀・) 間違ッテタラ、オシエテクレ

919:名無しさん@お腹いっぱい。
15/01/17 09:20:21.90 .net
(・∀・) この部分が $ d; だと何故か動かなかったので
(・∀・) あえて /^\n*$/ を入れてたけど、動くみたいなので訂正
$ {
  /^\n*$/ d;
};


@@ -10,9 +10,7 @@

  :loop2;
  /^\n*$/ {
-   $ {
-    /^\n*$/ d;
-   };
+   $ d;
   N;
   b loop2;
  }

(・∀・) url抜キデ、ブログニ貼ラナイデネ

920:名無しさん@お腹いっぱい。
15/01/17 15:54:44.86 .net
perlって面倒くさいんだね。Nコマンドで最終行が無くなったりしないの?
sedだったら、行頭と行末の間に何もない行は削除、という感じで
/^$/d
これだけなんだけど。

921:名無しさん@お腹いっぱい。
15/01/17 19:19:41.25 .net
(・∀・) 元々ノオ題ハコレ(先頭ノパイプハ除イタ)
tac|sed -n '/./,/.\n/p'|tac|sed -n '/./,/.\n/p'

(・∀・) 合ッテルカドウカ分カラナイケド、
(・∀・) tac デヒックリ返シタリスルノヲ止メ sed 一発ガ、コレ(修正前)
sed -e '1{:a;/^\n*$/{N;ba;};s/\n*//;};:b;/^\n*$/{${/^\n*$/d;};N;bb;}'

(・∀・) perl ダトコレ
perl -0777 -pe 's/\A\n+//s; s/\n+\Z/\n/s'

(´・ω・`) >>910 空行削除ノ話?
sed -e '/^$/d'


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch