12/03/22 01:07:53.55
>>747
special charactersに「!」が含まれていないので、
使えないという理解でいいんですよね?
うーん、書くのが面倒くさくなるなあ。
749:デフォルトの名無しさん
12/03/22 02:16:32.52
>>746
バックスラッシュが括弧に必要
750:デフォルトの名無しさん
12/03/22 08:31:18.61
>>749
拡張正規表現の話だぞ。
751:デフォルトの名無しさん
12/03/22 13:49:33.36
>>750
すまん。Emacsに先読みが無いことに今気がついた。
普通は後続の正規表現を指定するか、単語境界いれるからあんまり使わないんだよね
752:デフォルトの名無しさん
12/03/22 16:17:30.37
elispは拡張正規表現をサポートしていない。
代替するとこんな感じか?わっかりにっきーな
(re-search-forward "abc[^d]\\|abcd[^e]\\|abc$\\|abcd$")
753:デフォルトの名無しさん
12/03/22 21:46:10.19
>>752
「拡張正規表現」の定義によりますよ。
754:デフォルトの名無しさん
12/03/22 22:06:24.54
言いたいことあるなら中身まで言えば良いのに
755:デフォルトの名無しさん
12/03/22 22:12:46.02
>>750
emacsの正規表現でグループ化するには(をエスケープして\(としてやらないといけない
しかし単に"\("と書いてはいけない。
"\("が文字列として評価され(になり、その(が正規表現に渡されてとして評価される
正規表現に\(を渡したい時は文字列"\\("としないといけない
756:デフォルトの名無しさん
12/03/22 23:15:18.09
>>755
エスケープはわかったからさ。>>746の
> deを含まないabcを探索したいのですが
これをemacsの正規表現で書いてくれや。
757:デフォルトの名無しさん
12/03/23 00:36:29.29
サーセン
758:デフォルトの名無しさん
12/03/23 13:24:07.87
>>756
>>753
759:デフォルトの名無しさん
12/03/23 16:20:20.63
?
emacsの正規表現って定義あるよね?
760:デフォルトの名無しさん
12/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:デフォルトの名無しさん
12/03/24 01:31:35.63
vim なら abc\(de\)\@! でできる。
Emacs の正規表現の貧弱さにはいつもイライラする。
762:デフォルトの名無しさん
12/03/24 05:17:04.56
鬼車導入と新たな正規表現リテラルの導入かねやっぱり
763:デフォルトの名無しさん
12/03/24 10:03:06.08
今更エンジン変更とか新しくPEG導入するよかコストかかりそう
764:デフォルトの名無しさん
12/03/24 13:45:33.85
正規表現をPCREに変えろという話が本家で出ては消え、出ては消え・・・
本気で変えたいんならレキシカルスコープ変数やった人みたいに、
専用ブランチ作ってマージして、互換性の問題などを検証してみんなを納得させないといけない。
PEGはもういくつか実装あるような希ガス
765:デフォルトの名無しさん
12/03/24 15:24:09.42
ELisp の場合、正規表現を特別扱いするような文法はないから、単に新しい関数群を導入すれば互換性は壊さずに済むよ。
pcre-search-forward や pcre-match-string みたいな。
766:デフォルトの名無しさん
12/03/24 19:29:57.02
以下の設定で、open -gとしてバックグランドで開きたいのですが、どのように書けば"-g"オプションを渡せますか?
(setq browse-url-generic-program "/usr/bin/open")
767:デフォルトの名無しさん
12/03/24 19:39:48.53
browse-url-generic-args ってそれ指定するための変数じゃねーの?しらんけど
768:デフォルトの名無しさん
12/03/24 20:04:29.09
>>767
(setq browse-url-generic-args (list "-g")))
でうまく行きました。ありがとうございます。