[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 03/27 08:34 / Filesize : 205 KB / Number-of Response : 769
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Emacs Lisp 3



1 名前:デフォルトの名無しさん [2007/10/09(火) 05:39:53 ]
Emacs Lisp の専用スレ。
少数派による互助を中心に、初心者の相談も気が向けば受け付けます。
単なる Emacs ユーザーは別板の Emacs 関連スレにどうぞ。

過去スレ
Emacs Lisp
pc2.2ch.net/test/read.cgi/tech/1004551074/
Emacs Lisp 2
pc11.2ch.net/test/read.cgi/tech/1068467385/

関連スレ
Emacs part 22
pc11.2ch.net/test/read.cgi/unix/1180828013/
【叩かれて】Emacs Lisp道場【強くなれ】
pc11.2ch.net/test/read.cgi/unix/1063880951/
Lisp Scheme Part18
pc11.2ch.net/test/read.cgi/tech/1186922295/

746 名前:デフォルトの名無しさん [2012/03/21(水) 23:49:54.13 ]
deを含まないabcを探索したいのですが、以下でうまくいきません。
もしかして、emacs lispで「?!」は使えないのでしょうか?

(re-search-forward ”abc(?!de)” nil t)

747 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 00:16:43.92 ]
Infoぐらい読もう。
(info "(elisp)Syntax of Regexps")

748 名前:746 mailto:sage [2012/03/22(木) 01:07:53.55 ]
>>747
special charactersに「!」が含まれていないので、
使えないという理解でいいんですよね?

うーん、書くのが面倒くさくなるなあ。

749 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 02:16:32.52 ]
>>746
バックスラッシュが括弧に必要

750 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 08:31:18.61 ]
>>749
拡張正規表現の話だぞ。

751 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 13:49:33.36 ]
>>750
すまん。Emacsに先読みが無いことに今気がついた。
普通は後続の正規表現を指定するか、単語境界いれるからあんまり使わないんだよね

752 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 16:17:30.37 ]
elispは拡張正規表現をサポートしていない。

代替するとこんな感じか?わっかりにっきーな
(re-search-forward "abc[^d]\\|abcd[^e]\\|abc$\\|abcd$")

753 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 21:46:10.19 ]
>>752
「拡張正規表現」の定義によりますよ。

754 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 22:06:24.54 ]
言いたいことあるなら中身まで言えば良いのに



755 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 22:12:46.02 ]
>>750
emacsの正規表現でグループ化するには(をエスケープして\(としてやらないといけない
しかし単に"\("と書いてはいけない。
"\("が文字列として評価され(になり、その(が正規表現に渡されてとして評価される
正規表現に\(を渡したい時は文字列"\\("としないといけない

756 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 23:15:18.09 ]
>>755
エスケープはわかったからさ。>>746
> deを含まないabcを探索したいのですが
これをemacsの正規表現で書いてくれや。

757 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 00:36:29.29 ]
サーセン

758 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 13:24:07.87 ]
>>756
>>753

759 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 16:20:20.63 ]
?
emacsの正規表現って定義あるよね?

760 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 23:21:27.61 ]
Perl/Ruby/Python/TclとかにあるNegative lookahead (?!re)はemacs lispには無いはず。
emacs24とかは知らんが。

abc(?!de)は、"abcxxxx" の最初の "abc" とマッチするんだよね。
>>752のは "abcx"とマッチすることになるから微妙に違ってくる。
emacs lispでは、ひとつの正規表現だけでは、これと同じことはできないんじゃないの?

761 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 01:31:35.63 ]
vim なら abc\(de\)\@! でできる。
Emacs の正規表現の貧弱さにはいつもイライラする。


762 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 05:17:04.56 ]
鬼車導入と新たな正規表現リテラルの導入かねやっぱり

763 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 10:03:06.08 ]
今更エンジン変更とか新しくPEG導入するよかコストかかりそう

764 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 13:45:33.85 ]
正規表現をPCREに変えろという話が本家で出ては消え、出ては消え・・・
本気で変えたいんならレキシカルスコープ変数やった人みたいに、
専用ブランチ作ってマージして、互換性の問題などを検証してみんなを納得させないといけない。
PEGはもういくつか実装あるような希ガス



765 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 15:24:09.42 ]
ELisp の場合、正規表現を特別扱いするような文法はないから、単に新しい関数群を導入すれば互換性は壊さずに済むよ。
pcre-search-forward や pcre-match-string みたいな。


766 名前:デフォルトの名無しさん [2012/03/24(土) 19:29:57.02 ]
以下の設定で、open -gとしてバックグランドで開きたいのですが、どのように書けば"-g"オプションを渡せますか?
(setq browse-url-generic-program "/usr/bin/open")

767 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 19:39:48.53 ]
browse-url-generic-args ってそれ指定するための変数じゃねーの?しらんけど

768 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 20:04:29.09 ]
>>767
(setq browse-url-generic-args (list "-g")))
でうまく行きました。ありがとうございます。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<205KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef