正規表現

■ このスレッドは過去ログ倉庫に格納されています
NGNG
正規表現
2006/01/07(土) 15:36:35
>>539
ヒント:}{
2006/01/07(土) 15:46:46
いや、それは分かってるつもりだけど。
sedだと例えば{(aaa)}{(bbb)}{(ccc)}にマッチしちゃいますよってこと。
2006/01/07(土) 17:31:15
>>541
じゃあ不必要な{}()を最初にスペースに変換してからマッチさせたら
2006/01/07(土) 18:58:38
そんな必要ない。sedでも>>537のカッコをすべてエスケープすれば良い。
>>538の「sedは」というのが余分だっただけ。
544名無しさん@お腹いっぱい。
垢版 |
2006/01/12(木) 05:55:00
郵便番号をPHPで「1234567」から「123-4567」へ整形する正規表現を教えて下さい。
2006/01/12(木) 11:06:51
>>544
【PHP】質問スレッドpart32【php】
http://pc8.2ch.net/test/read.cgi/php/1136276300/
2006/01/13(金) 16:59:36
すいません。
--------------------------------
#hogehoge
fugafuga 1
--------------------------------
という風に行頭が#じゃないというのを正規表現で取得したいのですが
「ではない」というのが分かりません。
bashを用いております。
以上 ご助力をお願いいたします。
2006/01/13(金) 20:50:59
>>546
grep -v '^#'
2006/01/13(金) 21:08:39
>>546
grep '^[^#]'
2006/01/13(金) 21:29:57
いつも思うけど、
[^#] 形式だと文字が存在してないときも除外してしまうので
面倒なことあるよね。
ディレクトリリストから
.
..
を除外しようと
[^.][^.].*
を使って一文字のファイル見逃すとか。
2006/01/13(金) 21:47:30
>>549
その方が便利なこともある。
551544
垢版 |
2006/01/16(月) 17:54:29
ご教授ありがとうございます。
本当に助かりましたっ
552名無しさん@お腹いっぱい。
垢版 |
2006/01/22(日) 02:37:32
正規表現の正規表現ってどうかきますか?
ある値が正規表現の構文に沿っているかどうかを調べたいとき。
2006/01/22(日) 02:48:16
入れ子があるから正規表現にはならない。
BNFを書けば3型文法に属さないこと分かるでしょ。
2006/01/26(木) 11:22:53
いきなりすんません
2ちゃんねるブラウザ Jane Doe Style で正規表現検索を使おうとしたけど、書き方がいまいち分かりません。
F900i という文字列だけを検索して F900is や F900iT はヒットさせないようにするには、どう書けば良いですか
ぐぐってもいまいちわからないので。。。。
2006/01/26(木) 11:25:48
板違い。
2006/01/26(木) 11:32:56
スマンです。でもスレタイ検索してもほかに質問できそうな場所なかったんけどだめですか。

UNIX 085 正規表現 (553)
プログラム 408 正規表現part2 (102)
プログラマー 283 【Regular】正規表現【Expression】 (36)
2006/01/26(木) 11:36:10
板違い。
2006/01/26(木) 11:49:12
2006/01/26(木) 13:16:13
>>554
Jane Doe Style とやらがどんな正規表現エンジンを使っているかにも
激しく依存する話なので、
まずはそのソフトのスレで聞いてみた方が良いと思う。
560名無しさん@お腹いっぱい。
垢版 |
2006/04/15(土) 16:30:37
(・∀・)
561名無しさん@お腹いっぱい。
垢版 |
2006/04/18(火) 03:51:57
onigruma... 気になる。名前が怖い。
2006/04/18(火) 09:54:32
nekoguruma だったら弱そうだしな
2006/05/02(火) 22:56:16
>>562
いろいろ運べそうじゃないか
564名無しさん@お腹いっぱい。
垢版 |
2006/05/29(月) 20:29:06
正規表現厨には
grep --color
2006/05/31(水) 19:33:06
勉強ついでに554を考えてみた。精度に難がありそうですが、以下でどうだろう?

[^A-Zz-z0-9]*F900i[^A-Za-z0-9]*
2006/06/16(金) 03:35:29
>>565
最低限試そう。"F900iS"=~/[^A-Zz-z0-9]*F900i[^A-Za-z0-9]*/ はマッチする。
ヒント: \W \b 否定先読み
2006/07/25(火) 12:40:49
...
Doll ←ここから
\=\-\--\-``--`\=`-==\
\=-\=-\``\==`=`--`-=-

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

Fruits
...

のときDoll〜Eggの項目まで抽出するにはどうしたらいいですか?
/Doll/,/Fruits/ でおおまかには抽出できるけどもっと正確に抽出したいのです
568名無しさん@お腹いっぱい。
垢版 |
2006/08/09(水) 21:11:53
『詳説 正規表現 第3版』 が今月発売されるね。
邦訳版の出版は知らんけど。
2006/08/10(木) 13:32:24
情報サンクス。
けど、洋書なら原書のタイトル表記でよろしく。
早とちりして必死で oreilly.co.jp と amazon.co.jp 探しちゃったよー。(←あほ)
2006/08/10(木) 21:53:00
>>569
http://www.oreilly.com/catalog/regex3/index.html

わざわざ、邦訳版の出版は知らんって書いたのになw
571名無しさん@お腹いっぱい。
垢版 |
2006/08/18(金) 16:48:08
http://oraclesqlpuzzle.hp.infoseek.co.jp/regex/index.html
正規表現の問題集らしい
572名無しさん@お腹いっぱい。
垢版 |
2006/08/18(金) 17:01:57
>>568
作者宣伝乙、
というのは冗談で、情報ありがと。
日本語版はいつ出るんだろ。
2006/08/23(水) 13:58:51
立ち読みとか読んだうちに入らんと思われた。
574名無しさん@お腹いっぱい。
垢版 |
2006/08/23(水) 17:31:35
>>177
http://oraclesqlpuzzle.hp.infoseek.co.jp/regex/regex-4-10.html
こんなのもあるみたいやね
2006/10/05(木) 15:46:12
age
576名無しさん@お腹いっぱい。
垢版 |
2006/10/16(月) 10:51:27
ageとくか
2006/10/17(火) 01:00:23
質問させてください。

正規表現を用いたgrepをするときに、
文字列"foo"を含まない全ての行にマッチさせるためには
どのように書けばよいのでしょうか。
2006/10/17(火) 01:13:12
-v
2006/10/17(火) 08:26:14
man に書いてあるよ。
2006/10/17(火) 08:26:50
-v オプションを使わずに、正規表現上で「文字列"foo"を含まない」を表す方法を
聞いているんじゃないだろうか?
2006/10/17(火) 09:48:51
(?!foo)
2006/10/17(火) 11:12:35
>>581
今はgrepでの話をしてんだろ。
583名無しさん@お腹いっぱい。
垢版 |
2006/10/17(火) 13:02:02
>>577
否定先読み
2006/10/17(火) 13:37:52
>>583
正規表現でできるものか!
先読み、後読み共に否定は貧弱
2006/10/17(火) 18:14:48
「一致しない」はあらゆる箇所にマッチするからね
行単位の処理とは基本的に相容れないし

正規表現でなく、-vのようなメタレベルで対処するのが正解
sedとかでもいいな
2006/10/17(火) 19:17:42
>>585
なんで、.*?(?!xxx) を、xxxが一切含まない行、と解釈してくれないんですかね?
2006/10/17(火) 19:55:43
論理的に考えてみればわかるよ
2006/10/18(水) 09:59:12
>>587
欲張りマッチだから、xxxが見つかった段階で一文字戻ってマッチにしちゃう?
589名無しさん@お腹いっぱい。
垢版 |
2006/10/18(水) 11:10:22
>>586
解釈するわけがない
590名無しさん@お腹いっぱい。
垢版 |
2006/10/20(金) 10:45:16
^(?!.*foo)
でできるだろ

http://pc8.2ch.net/test/read.cgi/tech/1156413899/l100
の1のサイトをよく読め
2006/10/24(火) 10:00:30
正規表現でできることの仕様ってずっとこのままなんですかね。
括弧の対を考慮した表現とかって簡単にならないかな。
2006/10/24(火) 11:17:38
処理系ごとに拡張してあったりするじゃん。
2006/10/24(火) 11:28:08
hp-uxのgrep糞だなw
\< \>が使えん。
2006/10/24(火) 12:07:18
grepツールで、htmlのコメント内を検索対象からはずしてgrepできるツールありますか?
コメントで死ぬほど引っかかって苦労してます。
複数行コメント中の真ん中ぐらいの行に引っかかっても、先頭に<!--がないから
普通のgrepツールだときびしいです。
2006/10/24(火) 12:13:02
sedしかないだろ。
2006/10/24(火) 12:24:01
-- の対応まで見ようとするとつらそうだ。
2006/10/24(火) 21:37:54
複数行になると途端にわけわからんくなるな・・・。
2006/10/26(木) 05:24:59
改行位置を変換する前処理をしてからやるとか
2006/10/26(木) 11:38:24
コメントを
s/<!(?:--[^-]*-(?:[^-]+-)*?-(?:[^>-]*(?:-[^>-]+)*?)??)*(?:>|$(?!\n)|--.*$)//g
で取り除いてからgrepすればいいんじゃね?
2006/11/03(金) 14:20:22
マルチで済まない。

同じ文字が3文字連続していたら表示したいのだが
2006/11/03(金) 15:02:08
>>599
>s/<!(?:--[^-]*-(?:[^-]+-)*?-(?:[^>-]*(?:-[^>-]+)*?)??)*(?:>|$(?!\n)|--.*$)//g
この部分はsed?
だったら、その後もgrepなんかせずに、sedだけで完結すればいいじゃん。
awkでも同じく。
602<sage>
垢版 |
2006/11/10(金) 19:30:45
教えて下さい。

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

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

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

よろ
603名無しさん@お腹いっぱい。
垢版 |
2006/11/13(月) 23:01:55
>>602
http://pc8.2ch.net/test/read.cgi/tech/1156413899/l100
のリンク先嫁
604<sage>
垢版 |
2006/11/14(火) 15:35:11
>> 603
そのページのどこを読めと?
2006/11/22(水) 14:36:47
>>604
ほぼ全部
雑魚には無理な正規表現ってこった
2006/11/22(水) 20:49:29
氏ね
2006/11/26(日) 13:47:54
>>602

◆関連サイト
正規表現メモ
http://www.kt.rim.or.jp/~kbk/regex/regex.html
Perl正規表現雑技
http://www.din.or.jp/~ohzaki/regex.htm
Regular Expression(Riue ちゃんの正規表現講座)
http://www.sixnine.net/regexp/
正規表現パズル
http://oraclesqlpuzzle.hp.infoseek.co.jp/regex/
詳説 正規表現
http://www.oreilly.co.jp/books/4873111307/
正規表現プログラミングFAQ
http://capslockabcjp.kitunebi.com/faq.html

これだけ読めば解決できるが
池沼には無理
2006/12/04(月) 14:18:49
アルファベットの文字で構成されるが、「d」は入らない、を
[a-ce-z]以外の書き方で表現する方法はないですか?

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

[a-z][^c]
2006/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
2006/12/04(月) 22:02:59
>>608
javaならできる
2006/12/04(月) 22:08:51
d|i|g|i|t|a|l
2006/12/05(火) 09:35:00
>>610
どうやるんだべさ?
2006/12/06(水) 02:45:07
>>612
[[a-z]&&[^d]]
こんな感じだったと思う。
2006/12/06(水) 09:44:34
>>613
うぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉ〜、すげぇ〜。できました!
javaだとこんなのができるのか!
もちろん正規表現標準じゃないので、perlとか秀丸正規表現ではできないかぁ・・・

javaならではの裏技って他に何かあるんですかね?
2006/12/06(水) 12:20:30
>>614
うぉ++
2006/12/06(水) 12:23:51
タイプ数増えてるのは問題ないのかw
617615
垢版 |
2006/12/06(水) 12:51:07
>>614
わざわざjavaで試した行動力に感服

強欲マッチといわれる615もためしてみるといい
2006/12/06(水) 13:11:31
java使う人ならタイプ数が増えることが問なさそう
2006/12/06(水) 14:12:54
>>615
うぉ+でいいんじゃないの?なんか違うの?
2006/12/06(水) 17:58:50
(+_+;)
2006/12/07(木) 02:56:32
>>619

違うよ。++が付いたほうはバックトラックしない。
Perlの (?> ...) と同じ。
2006/12/16(土) 17:28:28
1〜1000
までの数字から始まって最後が
C]
で終わる正規表現を教えて下さい
m(_ _)m
2006/12/16(土) 17:45:19
^[0-9]\{1,4\}[^0-9]*C]$
かな?
2006/12/16(土) 17:55:45
>>623
駄目でしたorz
正規表現の勉強してきます。
有難うございましたm(_ _)m
2006/12/16(土) 19:58:43
^([1-9][0-9]\{0,2\}|1000)[^0-9]*C]$
こうか?
626名無しさん@お腹いっぱい。
垢版 |
2006/12/17(日) 00:31:38
タイトル:文字列 の文字列の部分だけを取り出したいのですが、
どのような正規表現にすれば良いのでしょうか?
よろしければ、ご教授を願います。
2006/12/17(日) 00:34:12
いろいろ出ているようだけど
[0-9].*C]
ではダメな理由がわからない
2006/12/17(日) 00:52:14
>>626
文..
2006/12/17(日) 07:34:54
>>627
全然ダメ

0000C
がヒットする
630名無しさん@お腹いっぱい。
垢版 |
2006/12/28(木) 11:54:55
初歩な質問ですみませんが
[0-9a-zA-Z]で英数字にマッチするものとなると思うのですが
例えばajgko-jk-s1olのように「-」記号が入っているとマッチしません
どう記述すればよいですか?よろしくお願いします。
2006/12/28(木) 11:57:12
>>630
[-0-9a-zA-Z]
632630
垢版 |
2006/12/28(木) 12:01:22
>>631
さんありがとうございます。
しかし上記のように記述しても読み込んでくれません・・・。
こう記述して[-0-9a-zA-Z]{10,10}
「BC-K-o58tB」これを認識してくれません。
2006/12/28(木) 12:09:19
どのアプリ使ってんのよ
2006/12/28(木) 12:10:47
>>632
ちゃんとマッチするけど・・


$ echo 'BC-K-o58tB' | egrep '[-0-9a-zA-Z]{10,10}'
BC-K-o58tB
635630
垢版 |
2006/12/28(木) 12:11:07
アプリ?良くわかりませんが言語PHPです。
2006/12/28(木) 12:11:52
ならPHPのスレで聞いた方がいいんじゃね
637630
垢版 |
2006/12/28(木) 12:16:40
PHPのスレで聞いたら正規表現に行けと言われました。orz
2006/12/28(木) 14:04:02
無限ループキタ━━━━━━(゚∀゚)━━━━━━ !!!!
2006/12/28(木) 21:33:37
PHPだとPOSIX由来の正規表現とPerl互換の正規表現があるけどどっち?
後者を使っているならpreg_match('/[-0-9a-zA-Z]{10,10}/', $str)みたいに
正規表現の前後にスラッシュが必要。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況