正規表現at UNIX
正規表現 - 暇つぶし2ch565:名無しさん@お腹いっぱい。
06/05/31 19:33:06
勉強ついでに554を考えてみた。精度に難がありそうですが、以下でどうだろう?

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


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

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

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

Fruits
...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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

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

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

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

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

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

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


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

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

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

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

よろ

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


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

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

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

607:名無しさん@お腹いっぱい。
06/11/26 13:47:54
>>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)

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

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

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

[a-z][^c]

609:名無しさん@お腹いっぱい。
06/12/04 19:22:18
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

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

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


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

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


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

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

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


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

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

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

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

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

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

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

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


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

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


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

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


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


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

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

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

0000C
がヒットする

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

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

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


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

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


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

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

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

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

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


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

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


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

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

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

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

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

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

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


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

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

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


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

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

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

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

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

\\| または

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



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

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

We are NOVA-TOMO\, right?

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

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

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


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

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

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

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

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

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


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


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

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

これが正解

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

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

ではないか?

663:名無しさん@お腹いっぱい。
07/05/04 14:56:11
無理に正規表現でがんばるより
他の方法を探した方がいい。

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

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


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

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

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

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

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


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

670:名無しさん@お腹いっぱい。
07/05/28 22:36:56
-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)の部分をグループ化で取り出したいのですが、どのようにすればよいのでしょうか?


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

672:名無しさん@お腹いっぱい。
07/05/29 00:05:12
>>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
$

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

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

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

$1 $3


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

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


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

cut 使うのは反則?

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

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

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

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

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

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

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

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

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

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

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

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

689:わし
08/01/15 20:55:01
わしにはわからん。


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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

702:名無しさん@お腹いっぱい。
08/03/06 14:24:40
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
にするにはどうすればいいですか



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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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


718:名無しさん@お腹いっぱい。
08/06/03 13:33:02
>>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::).


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

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

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

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

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


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

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

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

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


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

難しいか? それ。


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

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


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

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

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

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

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

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

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

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


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

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

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

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

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

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

はぁ~…

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

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


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

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

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

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


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

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


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

1(文字列A)文字列B

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

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

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

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

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

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

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

お願いします。

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

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

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

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

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

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

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

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

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

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

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

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



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

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


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

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

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

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



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

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

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


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

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

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

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

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

762:名無しさん@お腹いっぱい。
09/09/19 19:50:17
()内の、で区切られたものを
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'

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

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

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


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


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



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