- 1 名前:正規表現 mailto:正規表現 [02/12/06 18:09]
- 正規表現
- 767 名前:名無しさん@お腹いっぱい。 [2010/09/23(木) 21:58:59 ]
- 行頭にある>以外の>を置換したいのですが、どのように記述できるでしょうか?
- 768 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/24(金) 11:09:22 ]
- >>767
ヘタレな処理ですみません。動けば正義。 echo '>1>2>3>4>5>' | perl -ne '/^(.)(.*)/; ($a,$b)=($1,$2); $b=~s/>/*/g; print "$a$b\n";'
- 769 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/03(日) 22:07:49 ]
- >>767
行頭にもし「>」が複数有れば二ツ目以降を削除する処理と 「>」以外が一文字以上続いてから「>」が一文字以上出現する文字列を 「>」以外が一文字以上続いている部分に置換する。 以上。
- 770 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/10(日) 09:52:22 ]
- >>769
性器表現で書けよニダ
- 771 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/11(月) 21:58:34 ]
- >>770
^>>+とか[^>]+とか あえて書くことに意味は無いし、 削除や置換は正規表現では書けない。 文章の表面ではなく、コンテキストを嫁。
- 772 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/12(日) 10:48:21 ]
- /RegEx/ - 便利な正規表現、みんなで共有
regex.gkbr.me/
- 773 名前:名無しさん@お腹いっぱい。 [2011/01/11(火) 08:29:20 ]
-
EmacsとpTeXを使っています。 pTeXでは日本語の括弧はいわゆる全角で書かないときれいに出ないみたいなので、 「(日本語)」のような表現を一発で「(日本語)」のように変換したいたと思うのですが、 これはどう書けばいいのでしょうか。 (日本語abc)や(Abc日本語)や(Abc日[改行コード]本語)のようなものにも 対応しなければならないような気がします。(abc)のようなのはそのままにしておきたいです。 てことは、 「両端が()で、()のなかにmultibyte文字が1文字でも入っているもの、複数行にも マッチする」という条件でよさそうなのですが、どうでしょうか。 "([[:multibyte:]]+)"で(日本語)の形のやつまではわかったのですが、 その先に進めません。PerlのスクリプトでもOKですので教えてもらえないでしょうか。
- 774 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/11(火) 15:02:53 ]
- >>773
入れ子になった括弧には未対応。 (replace-regexp "(\\([^\\(]*[[:multibyte:]][^\\)]*\\))" "(\\1)") # pLaTex で otf 使えば大丈夫だったような?
- 775 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/11(火) 17:55:06 ]
- ありがとうございます。うまく動くようです。
OTFパッケージの方は実験してみましたがやっぱり()と()は区別しているような・・・
- 776 名前:名無しさん@お腹いっぱい。 [2011/03/12(土) 12:19:28.18 ]
- apacheのmod_rewriteでURLを書き換えたいと思っています。
以下が.htaccessのコードになります。 ------------------------------------------------------------------------- RewriteEngine On RewriteRule ^([a-z0-9_-]+).htm$ execute.php?id=$1 ------------------------------------------------------------------------- 例えば、”moge/test.htm”にアクセスすると”moge/execute.php?id=test”と同じようになるというものです。 ディレクトリにはexecute.phpの他にindex.htmを置きたいと思っているのですが、上のhtaccessを設置すると、”moge/execute.php?id=index”に飛ばされてしまいます。そこで、正規表現で特定の単語(index)を除外するにはどうすればいいのでしょうか? ご回答お願いします。
- 777 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/03/12(土) 14:53:45.34 ]
- Rewriteが htmなら
index.html ファイルにする
- 778 名前:776 mailto:sage [2011/03/12(土) 15:37:35.48 ]
- >>777
あ、なるほど 確かにそれでもいけますね さんくすです ちなみに正規表現で特定の単語だけ除外っていうのはできないのでしょうか??
- 779 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/03/16(水) 20:14:08.75 ]
- 否定先読みでおk
あとマルチ乙
- 780 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/03/29(火) 11:43:28.27 ]
- すっごく基本的なことで申し訳ないんだけど
aaaを含んでいてbbbを含まない行 ってのはどう書くんですか。
- 781 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/03/29(火) 12:00:15.87 ]
- それは正規表現だけでやらなきゃだめなのかい?
- 782 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/03/29(火) 12:06:43.95 ]
- grepでログの特定行を抽出したくて
- 783 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/03/29(火) 12:20:13.45 ]
- grep -v
- 784 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/03/29(火) 12:29:14.56 ]
- >>782
GNU grep で grep aaa logfile | grep -v bbb ってのじゃだめ?
- 785 名前:784 mailto:sage [2011/03/29(火) 12:30:38.86 ]
- かぶったか
- 786 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/03/29(火) 12:47:45.98 ]
- ああ、そっか。-v
ありがと
- 787 名前:名無しさん@お腹いっぱい。 [2011/04/08(金) 01:34:57.59 ]
- vimの置換で以下のようなデータを置換したいです
hoge(半角空白*****)\tsage\t ↓ hoge\tsage\t :%s/ //g だとhogeが ho ge だったりもするので 半角空白が続く\tを\tにしたいです。 どなたかご教示お願いします
- 788 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/04/08(金) 02:09:54.62 ]
- >>787
:%s/ \+\t/\t/g とか? 本当にやりたいのは gg=G とか Align じゃないの
- 789 名前: 忍法帖【Lv=11,xxxPT】 [2011/06/22(水) 16:55:34.67 ]
- aからz、かつAからZ、かつ0から9、かつその他記号(!"#$...)を含ませたいです。
[a-z&&A-Z&&0-9&&[^a-z^A-Z^0-9]] とやってみたのですがうまく行きません。(´;ω;`) どう表現すればいいでしょう。
- 790 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/22(水) 17:10:25.90 ]
- .
- 791 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/22(水) 17:38:34.78 ]
- >>789
むしろ含みたくない文字を列挙したほうが早いんじゃね?
- 792 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/23(木) 00:03:09.64 ]
- >>789
それは印字可能な文字から空白を除いたものなんじゃあないのかい
- 793 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/07/08(金) 22:03:29.79 ]
- 肯定条件と否定条件、常にペアで考えたいところです
- 794 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/03(水) 03:28:35.00 ]
- >>787
:%s/\(半角空白\**\)//g ・・・ではなくて、Excelでいう所のtrim関数みたいな動作か?
- 795 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/07(水) 21:00:09.49 ]
- gsedをターミナルで実行したとき、
丸数字の1〜20が[\x{2460}-\x{2473}]でマッチせず 「無効な範囲の終端」というエラーメッセージが出ます。 何を間違えているのでしょうか。
- 796 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/07(水) 22:36:48.15 ]
- >>794
> :%s/ //g 当人がチャレンジした結果がこれだから、タブ区切りの各値をtrimしたいんだろうと思うよ。 > 半角空白が続く\tを\tにしたい ってことだから>>788でいいと思う。でも>>788の後半は違うと思う。
- 797 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/07(水) 22:41:28.98 ]
- このスレ最近見てたと思ってたのに、8月だと…
- 798 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/08(木) 05:24:46.29 ]
- >>795の自己レス
よく解らないのだけど、コードでなくそのまんま@からS(文字化けしていたらごめんなさい) まで、1行ずつの置換行を書き並べたらうまくいきました。 コードだと1行ずつ書いてもダメでした。エラーは出なかったからコード間違えたかな。
- 799 名前:名無しさん@お腹いっぱい。 [2012/05/27(日) 23:08:25.45 ]
- linuxのgrepでgreenとつく単語を検索したいのですが、どういう正規表現を使えばよいのでしょうか
- 800 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/28(月) 08:03:03.12 ]
- >>799
くだらねえ質問はここに書き込め! Part 200 engawa.2ch.net/test/read.cgi/linux/1335349596/
- 801 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/13(火) 18:47:33.56 ]
- リンゴ 1個
ミカン 2個 イチゴ 1個 スイカ 1個 スイカ 3個 ナシ トマト トマト トマト パイナップル
- 802 名前:アップミス失礼しました mailto:sage [2012/11/13(火) 18:51:10.04 ]
- リンゴ 1個
ミカン 2個 スイカ 1個 スイカ 3個 イチゴ 2個 トマト 1個 トマト 3個 トマト 5個 を リンゴ 1個 ミカン 2個 スイカ 1個 3個 イチゴ 2個 トマト 1個 3個 5個 のように整理したいとき、正規表現で実現可能ですか?
- 803 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/13(火) 21:24:23.96 ]
- 何言ってんだ。
- 804 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/14(水) 02:50:13.58 ]
- >>802
例えば sed toro.2ch.net/test/read.cgi/unix/1085730992/l50
- 805 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/16(金) 20:13:34.67 ]
- リンゴ 1個
スイカ 1個 ミカン 2個 スイカ 3個 イチゴ 2個 元データがこうなってない前提ならできるかもしれない
- 806 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/16(金) 21:56:43.28 ]
- なってても出来ないことはないと思える
- 807 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/17(土) 00:18:53.21 ]
- いや、正規表現どうこうって話じゃないだろ
- 808 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/17(土) 03:31:10.85 ]
- まあ、そうだね
- 809 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/17(土) 15:01:28.93 ]
- 出発点になるテキストが規則的であればあるほど作業が楽になる。
- 810 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/17(土) 16:45:39.64 ]
- sedスレで聞いてないね。perlやawkなど、どこか他で見た? ってか、本人どうしたの?
- 811 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/18(日) 02:35:29.83 ]
- 釣りだったようだな。
- 812 名前:802 mailto:sage [2012/11/20(火) 15:26:50.28 ]
- いろいろ研究中ですが、釣りじゃありませんw
他のスレにまで投稿すると、マルチで蹴られてしまうからです。
- 813 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/20(火) 16:03:55.39 ]
- マルチは同じ話題が並行して進行するのが問題。
ちゃんと移動すればマルチじゃないよ。
- 814 名前:名無しさん@お腹いっぱい。 [2012/11/20(火) 18:49:22.20 ]
- 以下のような文章があったとします。
〜aaa〜bbbaaa〜bbbaaa〜bbb〜 (〜は文字数の定まっていない文字列を表しています。) ここから、それぞれ最初のaaa〜bbbだけを抽出、真ん中のaaa〜bbbだけを抽出、最後のaaa〜bbbだけをで抽出したい時、どう正規表現で表せばよいのでしょうか?
- 815 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/20(火) 20:13:44.36 ]
- sedじゃだめなのかよ
- 816 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 02:55:30.50 ]
- 「aaa」と「bbb」を例えば「【」「】」に置き換えてみると楽かも。
【があって、】以外のものがあるかないかして、】があったとき が検索パターンってことになるよね。ここまでが正規表現。 その後は、1回目にマッチしたときだけ吐き出す、最後にマッチしたものだけ…… は、何を使うかで変わってくる。
- 817 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 07:09:17.34 ]
- >>816
「【」「】」に置き換えるんじゃなく、「aaa」と「bbb」の例でお願いします。 「【」「】」みたいな1文字じゃなく、「aaa」「bbb」みたいな複数文字なので。 しかも、「aaa」と「bbb」の間に普通の文字としてa bもあります。
- 818 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 08:20:17.05 ]
- こいつ、何もわかってない
- 819 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 10:34:37.69 ]
- perlの正規表現使わないと無理だと思うよ。
- 820 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 11:10:04.60 ]
- こんな感じかな?
aaa[^b]*\(b\{0,2\}[^b]\+\)*b\{0,2\}bbb
- 821 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 11:16:22.41 ]
- >>813の直後なのにマルチ
- 822 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 11:18:53.62 ]
- 移動してるからマルチじゃないだろ
- 823 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 11:27:34.16 ]
- もっとタイムリーに本人出てこないとダレるわ
- 824 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 11:41:33.62 ]
- >>822
toro.2ch.net/test/read.cgi/tech/1340383120/421
- 825 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 11:43:27.15 ]
- >>824
おお、なるほど。 そんなところにも正規表現スレあったのか。
- 826 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 11:48:07.59 ]
- マルチか。もう知らん。
- 827 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 19:22:47.43 ]
- 別人だと言ってるけど、それにしては似すぎ
- 828 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 19:39:46.55 ]
- こっちの見て書いたんだろ。
別人だとしてもマルチと変わらんな。
- 829 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 19:53:25.11 ]
- ここにもある。なんか、もうやだw
シェルスクリプト総合 その21 toro.2ch.net/test/read.cgi/unix/1352973453/l50
- 830 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 19:55:53.48 ]
- というよりシェルのが大元なのか。まあ、移動すると書いてあるからいいか。
- 831 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 23:32:17.64 ]
- こっちの奴は句読点付けてるのな
- 832 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/22(木) 00:06:51.47 ]
- > シェルスクリプトスレより誘導されてきました
って書いてあんじゃん。ってかなんでこっちのスレで話を続けてるのかがわからん。 マルチうざい放置でスルーしよ
- 833 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/22(木) 00:32:49.10 ]
- どっちが偽物とか関係なく、向こうの正規表現スレだけで進行させときゃ済む話だしな
|

|