正規表現at UNIX
正規表現 - 暇つぶし2ch773:名無しさん@お腹いっぱい。
11/01/11 08:29:20

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

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

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



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

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

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

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

776:名無しさん@お腹いっぱい。
11/03/12 12:19:28.18
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)を除外するにはどうすればいいのでしょうか?
ご回答お願いします。

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

index.html ファイルにする

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

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

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

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

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

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

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

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

785:784
11/03/29 12:30:38.86
かぶったか

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

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

hoge\tsage\t

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

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

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

789: 忍法帖【Lv=11,xxxPT】
11/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:名無しさん@お腹いっぱい。
11/06/22 17:10:25.90
.

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

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

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

元データがこうなってない前提ならできるかもしれない

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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