1 名前:デフォルトの名無しさん [2007/08/02(木) 13:53:20 ] 正規表現(Regular Expression)スレです。 質問する場合は実装言語や処理系ソフトウェア名を示しておくと話が早いです。
331 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 12:24:04 ] /image/[00-31]_[00-1f].jpg ↑00〜31↑00〜1f(16進数) 正規表現でこのように設定したいのですがうまくいきません。 /image/(00_00、01_01・・・10_0a・・・31_1f) こういったものを書きたいのですが可能でしょうか?
332 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 12:29:21 ] >>331 [] は一文字にしかマッチしないのでー。 正規表現はふつうは数値の範囲は指定できないのでー。 ([0-2][0-9a-f]|30|31)_[01][0-9a-f]\.jpg
333 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 13:19:37 ] >>331 もしかして、 10進部分と 16進部分を対応させたいと思ってる? それだと正規表現だけでは簡単に書けないと思う。
334 名前:デフォルトの名無しさん [2008/01/05(土) 11:31:41 ] 日本語の話しになってしまいますが、質問させてください。 >検索対象に正規表現が一致した場合 と >検索対象が正規表現に一致した場合 どっちが正しいのでしょう? 前者が正しいような気がするのですが、よく判らなくなってきました
335 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 12:04:31 ] 一致というよりマッチといいましょう。
336 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 17:24:34 ] そういえばどっちも言うような気がする。 文脈によるというかどっちを軸に語るかによるんじゃないかな。
337 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 17:36:47 ] 厳密に言うと受理だろうが、気にしすぎだとも思う
338 名前:デフォルトの名無しさん [2008/01/05(土) 21:41:39 ] プログラムの 「前」 ってどっちですか?
339 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 21:42:19 ] つまらんコピペだな
340 名前:デフォルトの名無しさん [2008/01/05(土) 21:45:36 ] じゃね? => ぢゃね?
341 名前:デフォルトの名無しさん [2008/01/06(日) 14:50:28 ] ここのFAQの中の手作業でNFAを作成ってページなんだけど capslockabcjp.kitunebi.com/handmade.html /***/にマッチしないきがするけど。
342 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 15:05:50 ] だからなんだよ。
343 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 15:29:12 ] 〠
344 名前:334 mailto:sage [2008/01/06(日) 15:59:55 ] レス有難うございます。やっぱり気にし過ぎですかね。 気にしない事にします。
345 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 23:17:00 ] if (ch == '/') st = 1; else if (ch == '*') st = 4; // 追加 図のほうに S4->S4 [label="*"]; だね
346 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 00:05:54 ] >検索対象(の文字列)が正規表現(で表されたパターン)にマッチした場合 パターンは固定だから、俺はこっちがしっくりくる
347 名前:デフォルトの名無しさん [2008/01/10(木) 03:38:22 ] "one two three four" "one three two four" にしたいのです。正規表現でスワップ(位置交換)したいんですが ググってもあんまりなかったです。 一応、java.util.regex.*; 使ってます。
348 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 03:41:41 ] "one two three four five" "one four three two five" 1 2 3 4 5 1 4 3 2 5 でした。
349 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 16:36:35 ] Pattern pattern = Pattern.compile("^(.*?)\\s+(.*?)\\s+(.*?)\\s+(.*?)\\s+(.*?)$"); Matcher matcher = pattern.matcher("one two three four five"); String str = matcher.replaceFirst("$1 $4 $3 $2 $5"); とりあえず
350 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 17:42:18 ] >>349 おお、ありがとうございます。 java.util.regex.Pattern; のAPI見ても \1 は載っていても、$1 は載ってなかったんですができるんですね。 ところでAPI(java, perl, ruby, js)見ても良く分かり辛いのですが、\n, $n のnはいくつまで参照できるんでしょうか。 nは10進表記みたいですけど、 \0 - 1から9までは dec \1 ... \9 - dec \10, \11 ... \21 - oct \010, \011 ... \025 \0nnn とすれば自動で8進表記 \nnnn とすれば自動で10進表記 参照は \1 <=> $1 API(java)ではこういう感じみたいなんですけど実際はどうなんでしょうか。
351 名前:デフォルトの名無しさん [2008/01/10(木) 21:27:54 ] "\1" じゃなく、"\\1" じゃないのかな。 java コンパイル ⇒ 正規表現コンパイル つまり2回コンパイルされる事に注意。 ここらへんの理屈がわかってないとツライよ。
352 名前:349 mailto:sage [2008/01/11(金) 00:55:38 ] >>350 とりあえず最大数は気にしなくていい、[\$]1000とかでもいけるように見える Petternクラスでは0始まりは8進数になるけど、Matcherクラスでは10進のまま PetternのescapeとMatcherのappendReplacementあたりのソースを見るといい うまくまとめられてないけど、2ch止まるらしいので今のうちに書いとく
353 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 17:24:33 ] APIソース見てるんですか! そこまで頑張らなくてもどこかにあるJavaのフォーラムで質問した方がいいんじゃないですか?
354 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 17:39:56 ] 質問者よりも回答者の方が問題解決に躍起になってるスレ。
355 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 20:10:07 ] sedを使ってC言語のコメントを全て削除するにはどうやればいいんですか? コメントが1行に収まっているなら簡単なんだけど、複数行にまたがる場合にどうすればいいかわからない
356 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 20:22:05 ] >>355 パターンスペースとホールドスペースを駆使すればできなくはないが、お勧めできない。 awkかperl、或いは最近のスクリプト言語を使う方がいい。
357 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 08:24:05 ] 俺には無理ぽ --------------------------------------- # decom.sed /\/\*/ { :loop /\*\// { b break } N b loop :break s/\n/ /g s/\/\*.*\*\///g } ---------------------------------------
358 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 08:30:01 ] ttp://main.rtfiber.com.tw/~changyj/sed/html/p.20010226b.html ちょろっと探したらすぐ見つかったしorz
359 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 09:21:03 ] でも>358だと文字列中の/*にも反応しちゃうんだよね。 本格的に使うのは、ちょっと無理。
360 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 09:51:59 ] プリプロセッサ指令をプリプロセスで消されないよう加工 ↓ プリプロセッサにかける ↓ 加工したプリプロセッサ指令を元に戻す
361 名前:デフォルトの名無しさん [2008/01/14(月) 12:03:15 ] 正規表現のエスケープしなくてもいい記号がわからないので、 とにかく記号という記号はエスケープしていて結構カオスになっているのですが、 エスケープしなくてもいい記号一覧とかどっかにありませんか? !"#$%&'()-=^~\|@`[{;+:*]},<.>/?_ これが \!\"\#\$\%\&\'\(\)\-\=\^\~\\\|\@\`\[\{\;\+\:\*\]\}\,\<\.\>\/\?\_ こんな感じに・・・
362 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 12:22:13 ] 半角スペースって普通に半角スペースをいれるか\x20とかくかどっちがいいんですか?
363 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 12:23:19 ] 普通に半角スペースを
364 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 12:40:39 ] >>363 レスありがとう。 普通に半角スペース使うことにしますね。
365 名前:361 mailto:sage [2008/01/14(月) 15:43:29 ] 完全かどうかはわかりませんがWikipediaにのってました。 というわけで自己解決しました。
366 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 18:31:15 ] >362 \s
367 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 18:36:27 ] >>366 秀丸じゃ使えないんだよな
368 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 18:37:44 ] >>366 つーか、それホワイトスペース一般じゃないか?
369 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 18:55:23 ] ホワイトベースに見えた
370 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 19:43:17 ] セイラさんにハァハァしすぎw
371 名前:デフォルトの名無しさん [2008/01/14(月) 20:00:29 ] \s は改行にもマッチすることがあるから 半角スペースの代わりにはならないよ
372 名前:デフォルトの名無しさん [2008/01/14(月) 22:22:22 ] 特定の英単語が含まれているかをチェックする正規表現を教えてください。 This is a pen. に対してhisをチェックした場合に引っかからないのが正しいです。 英単語の定義は[A-Za-z]{3,}とする予定で、単語の間はカンマやハイフン、セミコロンなどもあり。 前後が[^A-Za-z]だけだと行頭行末がダメ。。。
373 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 22:23:48 ] >>372 \b
374 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 22:28:09 ] 非語境界ってやつだな。
375 名前:372 mailto:sage [2008/01/14(月) 22:28:22 ] >>373 ありがとう。知らんかった。首吊ってくるわ。。。
376 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 22:41:54 ] イ`
377 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 22:44:30 ] \sはタブにもマッチするな まあ既に>>368 が言ってるけど
378 名前:デフォルトの名無しさん [2008/01/17(木) 16:41:25 ] こんにちは。質問です。 @book{sagan:1954, author = {Fran\c{c}ois Sagan}, title = {Bonjour Tristesse} } こんな感じの文字列(BibTeX)を取り込んでハッシュにするためには どのような正規表現を用いればよいでしょうか。 ポイントは 1. コンマで分割する。 2. {}の中のコンマは無視する。 というあたりだと思うのですが、特に括弧の入れ子をどう処理するかで困っています。 使用言語はRubyです。よろしくお願いします。
379 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 19:22:45 ] 正規表現は再帰をあつかえない。即ち括弧の対応を確かめることが出来ない。 上限をハードコードするなら可能ではあるが、普通にパーサを書いたほうがいいと思う。
380 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 21:31:48 ] 新しいPerlへようこそ
381 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 13:21:50 ] >>380 新しい Perl でも、正規表現 *だけ* では無理じゃね?
382 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 19:34:46 ] ソースコードやXMLはネスト構造を持つから正規表現は向かないよな。 Javaとかもソースコードパーサー用の汎用クラスがあるけど、何故か使われなかったり。 BNF法の知識がデベロッパレベルで浸透してないから、無理も無いけど。
383 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 09:57:54 ] 仕用言語はPHP5.2.4です。UTF-8での運用をしております。 テキストの中のURLをリンクしたいのですが、 $pat = "(https?:\/\/[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+)"; $rep = "<a href=\"\\1\" target=\"_blank\">\\1</a>"; $body = ereg_replace($pat, $rep ,$body); これだと、2ちゃんねるみたく、ttp:から始まったURLの場合リンクできません。 無駄だと思いつつも書き方がわからないので、下記の処理を付け加えましたが、 <a href="hoge">hoge</a> ↑この部分が何故か文字化けしてしまいます。 $pat2 = "[^h](ttps?:\/\/[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+)"; $rep2 = "<a href=\"h\\1\" target=\"_blank\">\\1</a>"; $body = ereg_replace($pat2, $rep2 ,$body); スマートに書く方法を教えてください。
384 名前:デフォルトの名無しさん [2008/01/24(木) 10:34:25 ] すまない ageさして下さい
385 名前:デフォルトの名無しさん [2008/01/24(木) 10:51:13 ] >>383 [^h] じゃなくて h? じゃない?
386 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 11:20:57 ] >>385 dです ご指摘のように $pat2 = "h?(ttps?:\/\/[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+)"; $rep2 = "<a href=\"h\\1\" target=\"_blank\">\\1</a>"; $body = ereg_replace($pat2, $rep2 ,$body); こうすることで動きました ありがとうございました
387 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 14:34:41 ] h?っていらなくない?
388 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 14:46:58 ] http: ってちゃんと書いたときに h が増殖しちゃわない?
389 名前:388 mailto:sage [2008/01/24(木) 14:51:28 ] スマソ、勘違い。 h? を省くと、 http: ってちゃんと書いたときに、こんなふうに h が出てきちゃう。 h<a href="hoge ">ttp://hoge</a>
390 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 21:19:55 ] 全体を括弧でくくってそれをテキストに指定、 内側のh?(~~をリンクに指定すればいいと思う。
391 名前:デフォルトの名無しさん [2008/01/24(木) 21:49:52 ] $test = '<a href="localhost/ ">LINK29</a>'; $test = preg_replace('{<[Aa] .+?>LINK([1-9][\\d\\-]*)</[Aa]>}' ,page_href('$1') ,$text); 上記の正規表現で得た29という数字をpage_hrefという関数に渡したいです。 29という数字は取れているみたいですが、関数内には29という数字が渡ってきておりません。 preg_replace内でどうすれば関数に数字を渡せますか? ちなみにPHP5系です。
392 名前:デフォルトの名無しさん [2008/01/24(木) 21:52:25 ] preg_replace内の$textは$testです すみませんでした
393 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 23:30:33 ] >>390 kwsk
394 名前:デフォルトの名無しさん [2008/01/24(木) 23:58:17 ] >>393 $pat2 = "(h?(ttps?:\/\/[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+))"; $rep2 = "<a href=\"h\\2\" target=\"_blank\">\\1</a>"; $body = ereg_replace($pat2, $rep2 ,$body); ↑こういうことじゃね?
395 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 00:14:49 ] >>391 そのくらいの正規表現ならPHP使いなら大抵知ってるからPHPスレでいいと思うよ で、関数に引数を渡すにはその引数を評価してからじゃないと渡せない というわけでまずは preg_replace() の引数である page_href('$1') を評価する でもこの時点で preg_replace() は評価されてないので $1 は未定義 preg_match() を使って二つに分けて書くのが普通だろうけど どうしても preg_replace() ひとつで済ませたい場合は e 修飾子を使ってこう書く $test = '<a href="localhost/ ">LINK29</a>'; print preg_replace('{<[Aa] .+?>LINK([1-9][\\d\\-]*)</[Aa]>}e', 'page_href($1)', $test); ただこういう謎コード書いて冷たい目で見られても知らない
396 名前:デフォルトの名無しさん [2008/01/27(日) 10:16:29 ] BREGEXPのC言語のラッパーライブラリがあったら教えてください。 BREGEXPでなくても他に使いやすいライブラリがあれば教えてください。
397 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 11:14:06 ] C 言語なら PCRE とか鬼車で良いのではないかと。
398 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 12:52:37 ] >>396 元々Cだしなぁ。ラッパーに何を期待してる? それはそれとして、素のBREGEXPは古いのでやめておいた方がいい。 いくつかバグも見つかっているようだし。せめてbregonigにすべきかと。
399 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 12:55:52 ] RE *re = ReCompile("/(\d+)/"); if(ReMatch(re, s)) { printf("%s", re->d1); } ReFree(re); これくらい簡単なのは確かに欲しい。
400 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 18:22:16 ] みんながCのアプリをC++でコンパイル通してくれればfreeもなしで if (/([0-9]+)/ == str) ... こうできるけどね。 クラス定義とかしなくていいからさぁ、 C++のランタイムにしてくればモジュール提供する側がラクなんだよなぁ
401 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:22:38 ] 世の中の全てプログラム言語はC++でいいと?
402 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:37:07 ] C99
403 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 14:08:08 ] a b c aa bb cc aaa bbb ccc これのインデントあわせって正規表現だけでできますか?perlです。
404 名前:デフォルトの名無しさん [2008/01/29(火) 14:41:11 ] <A HREF="hogehoge.jp/************** ">hogehoge.jp/**************</A> <A HREF="hogehoge.jp/************** ">hogehoge.jp/**************</A> …以下続く という文字列があるのですが、**************の部分に暗号化された文字(例:=7%be%8e%e4)が50文字くらい並んでいて 毎回文字数や形式が変動してしまいます。 <A HREF=" のほうはいいのですが、 HTML上に表示される文字のほうも暗号文字になってしまうので困っています。 正規表現で、HTML上に表示される文字のほうだけ、「リンク」という文字に変える方法はありますでしょうか?
405 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 15:32:43 ] >>403 右寄せ?左寄せ? まあ無理なんじゃない >>404 pack形式と実行環境書け
406 名前:405 mailto:sage [2008/01/29(火) 15:42:18 ] >>404 の例は「美人」だと思われるが、それでいいのか? あとhogehogeやめれexampleにしろ
407 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 15:55:11 ] >>404 です 実はプログラミングを知らないので、実行環境はテキストです… 秀丸でできればおkです…
408 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 19:56:06 ] >>403 正規表現では無理だろう。 幅固定なら awk が楽だが、 最長のに合わせるんだったら perl で普通に ガシガシ書いてきゃいいんじゃね?
409 名前:デフォルトの名無しさん mailto:age [2008/01/30(水) 00:44:52 ] perlでweb製作しています。 $txt の中の href="URL" の中のURLを http:example.net/test.cgi?url=エンコードしたURL の形に一括変換したいです。 たとえば href="search.com/str.cgi?first=1&p=%BA%C7%B9%E2 " href="http:example.net/test.cgi?url=http%3A%2F%2Fsearch.com%2Fstr.cgi?%2Fsearch%3Ffirst%3D1%26p%3D%25BA%25C7%25B9%25E2" のようにしたいです。 $txt内には複数のhref=""があり、href=""外にもURLがあり、その部分は変換不要です。 $cgi = "http:example.net/test.cgi?url="; $txt =~ s/(href\=\")([\w\.\~\-\/\?\&\+\=\:\@\%\;\#\%\$]*\")/$1&cgi$2/g; $2の部分をエンコードすればよさげなのでエンコード法を調べてみましたが↓を↑に組み込み方がわかりません。 どなたか、お教えください。 $str =~ s/([^\w ])/'%' . unpack('H2', $1)/eg;
410 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 01:18:38 ] use strict; my $txt = <<TXT; href="search.com/str.cgi?first=1&p=%BA%C7%B9%E2 " href="search.com/str.cgi?first=1&p=%BA%C7%B9%E2 " TXT $txt =~ s{(?<=href=").*?(?=")} { no locale; sprintf q{http:example.net/test.cgi?url=%s}, do{$_ = $&; s/([^\w ])/'%' . unpack('H2', $1)/eg; tr/ /+/; $_} }eg; print $txt;
411 名前:デフォルトの名無しさん mailto:age [2008/01/30(水) 01:26:23 ] >>410 THANKS なんか、できそうですが、PERL事態初心者で構文自体は理解できませんorz
412 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 11:34:55 ] echoが含まれない行の検索って、java正規表現でできますか? ^.(?<!echo)*$ ではできませんでした。
413 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 11:45:01 ] >>412 すいません。できました。 下の2つともできたのですが、「.」のおく位置で何か違いはあるのでしょうか? ^(.(?!echo))*$ ^((?!echo).)*$
414 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 13:56:44 ] それ上手く動かないだろ
415 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 01:40:06 ] ふつうは^(?!.*echo) これでだめなら ^(?!.*echo).*でもいい >>413 1つ目はダメ。たとえば次のような行: echo このeを.で評価したとき、継続の文字はcho。 echoという文字が続いているわけじゃないから、マッチは成功してしまう。 2つ目はうまくいくだろう。
416 名前:デフォルトの名無しさん [2008/02/01(金) 00:31:08 ] 質問です、PHPにおいてファイルパスの正規化をしています。 // テスト文字列、"/test/oame/doe/0"にしたい。 $location = "/test/./oame//doe/abc/../0/"; // 置き換え部分 $location = ereg_replace("//+","/",$location); /* "//" -> "/" */ $location = ereg_replace("/\./","/",$location); /* "/./" -> "/" */ $location = ereg_replace("/.+?/\.\./","/",$location); /* "/___/../" -> "/" */ $location = ereg_replace("/$","",$location); /* 末尾の"/"を削除 */ ereg_replace3番目の、/../の処理がうまくできていません、 $locationが空になります。これはどのように記述したらいいのでしょうか?
417 名前:デフォルトの名無しさん [2008/02/01(金) 00:51:28 ] $location="/test/./oame//doe/abc/../0/"; $x=$location.split('/'); $location='/'+$x[1]+'/'+$x[3]+'/'+$x[5]+'/'+$x[6]+'/'+$x[8];
418 名前:デフォルトの名無しさん [2008/02/01(金) 01:15:56 ] phpよく知らんけどこんなとか? $location = ereg_replace("/[^/]+?/\.\./","/",$location); /* "/___/../" -> "/" */
419 名前:416 [2008/02/01(金) 02:04:34 ] どうもPHP固有の仕様に関することかもしれないので、 そっちで聞いてみたいと思います。 どうもありがとうございました。
420 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 13:56:31 ] .(?!xx)* は.*中に「xx」がない、との解釈になるのでしょうか? よって下記とは異なる、でよろしいでしょうか。 (?!xx).*
421 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 19:08:06 ] 正規表現で遊べないかと考えていたんけど、みさくら語を正規表現で表すとしたらどうやる?
422 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 19:56:32 ] ぐぐったら出てくるじゃないか ttp://home.1555.info/misakura.html とりあえず上のJavaScriptの意味を調べてみては その過程で正規表現より他に必要なものが見つかるはず
423 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 09:29:34 ] マッチさせた後どう処理するかの方が肝なので、正規表現だけ考えても仕方ないかと。
424 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 21:45:00 ] 蒲焼《か はやき》 深川《ふか がわ》 ↑のような《》に挟まれた半角スペース、全角スペースを指定する正規表現はどう書けばいいか教えて下さい。よろしくお願いします。
425 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 03:36:32 ] >>424 >>1
426 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 17:50:02 ] ********aaa aa * ****age p * kk ** *aaaa のようなものの*を行頭から連続している部分だけ-に換えたいんですが --------aaa aa * ----age p * kk ** -aaaa こういうような二重絞り込みみたいなものってperlのワンライナーでやる方法が知りたいです perl -pe '/^[\*]*/ & tr/*/-/' みたいな感じで条件を合成できそうな気がするんですが
427 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 18:02:31 ] perl -pe 's/^\**/q{-} x length($&)/e'
428 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 18:46:33 ] どうもありがとうございました 正規表現だけじゃできないんですね perlも勉強することにします
429 名前:424 mailto:sage [2008/02/08(金) 19:34:16 ] ソフトは秀丸使ってます。実装言語とかよくわかりません。
430 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 19:58:15 ] テンプレのサイトで少しは勉強してきなよ
431 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 20:10:24 ] やってみって《》とその中までは指定できたけどその先がよくわからんのです。