1 名前:デフォルトの名無しさん mailto:sageteoff [2014/11/05(水) 10:12:55.39 ID:CXVoT6Mj.net] Regular Expressionスレです。 質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。 前スレ Regular Expression(正規表現) Part12 peace.2ch.net/test/read.cgi/tech/1387257592/ 天ぷら等2以降
369 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 23:21:19.14 ID:KHffJxSC.net] \(^o^)/
370 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 23:23:37.44 ID:cMy/WvKO.net] >>362 ご愁傷様です
371 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 23:37:14.88 ID:UhJI1pbU.net] 俺はvi
372 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 18:05:00.21 ID:BED/WPPF.net] vs2013最強だな
373 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 11:25:31.33 ID:DVsQoV68.net] あるテキストファイルの中の文字列を置換したいのですが、 その置換前、置換後の文字列の対応表を別の設定ファイル ---設定ファイル.txt--- 寿司 くいねー うに
374 名前:食べたい 河童巻き 好物 ・・・ --------------------- みたいに作成しておいて、 replace 目的ファイル.txt 設定ファイル.txt > 結果ファイル.txt みたいな感じでやりたいのですが、そういうツールか何かありますか? できればWindows、なければ linuxでもOKです。 よろしく。 [] [ここ壊れてます]
375 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 11:30:28.23 ID:uFdJ1boh.net] >>329 改行キープして先ずはコメントだけ消す。 もしくはプリプロセッサ通すか。
376 名前:デフォルトの名無しさん [2015/06/09(火) 15:07:38.63 ID:9FRXqzT5.net] >>367 awk
377 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 16:15:21.85 ID:DVsQoV68.net] >>369 出来れば、もすこし詳しくお願いします。
378 名前:デフォルトの名無しさん [2015/06/09(火) 16:23:53.22 ID:9FRXqzT5.net] Aho Waka Kasu
379 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 16:48:22.66 ID:beQM3dhk.net] www
380 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 21:08:22.70 ID:uFdJ1boh.net] 若?
381 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 21:13:30.98 ID:J0bC0FT3.net] waka
382 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 16:22:42.94 ID:fWBwznRJ.net] VS2013C++の人か、回答レス付いてるのにスルーしてるしなんなのこいつ
383 名前:デフォルトの名無しさん [2015/07/05(日) 13:37:02.04 ID:sKAHM/R7.net] 他のスレでも聞いたのですが余り見て貰ってないような気がするので、ここでも聞かせてください。 以前見た正規表現のパズルサイトを探しています そのサイトは英語のサイトで、デザインはこんな感じです。 --------------------------------------- 以下に当てはまる正規表現は何か(<-英語で書かれています) ___________<-ここに書き込む 0<-ポイント (当てはまる) (当てはまらない) AAA FCD ABC FGH ACD FGK --------------------------------------- 短ければ短いほどポイントが加算されていくと言った、 こんな感じだったと思います。 よろしくお願いします
384 名前:デフォルトの名無しさん mailto:sage [2015/07/05(日) 13:53:34.40 ID:tVdhCBhpS] regex game - Google 検索 https://www.google.com/search?q=regex+game&ie=utf-8&oe=utf-8 https://regex.alf.nu/ 一件目…
385 名前:デフォルトの名無しさん mailto:sage [2015/07/05(日) 15:47:00.25 ID:XIvEwRaJ.net] >>367 awk なら、getline で、辞書を1行ずつ読んで、 置換前・置換後の文字列を取得する gsub で、すべてを置換していく でも文字列処理なら、Rubyがベスト。 他には、Pythonとか ただこの処理は、置換する順番によって、 結果が変わる 例えば、「あいう」→「かきく」の置換後、 「かき」が置換前文字列に該当し、置換されるかも
386 名前:デフォルトの名無しさん mailto:sage [2015/07/05(日) 21:27:23.22 ID:8iLtGCDs.net] >>376 これ? regex.alf.nu/ あと、複数箇所に同じ質問を投稿するのは「マルチポスト」といって、嫌う人も多いのでやめたほうがよい
387 名前:デフォルトの名無しさん mailto:sage [2015/07/05(日) 21:43:42.37 ID:70VDGlmK.net] マルチポスト嫌う奴って何に怒っているのか不思議だよなあ。同じ質問を十箇所でする方が回答得られる確率が上がるだろ。 それの何が問題なのか、分からん。
388 名前:デフォルトの名無しさん mailto:sage [2015/07/05(日) 21:56:30.58 ID:YfZOtl+L.net] 分からんのは童貞だからだ。割とマジで 非童貞非処女だとすれば相当ヤバい
389 名前:デフォルトの名無しさん mailto:sage [2015/07/05(日) 22:01:39.03 ID:70VDGlmK.net] >>381 世の中情報で溢れているのに マルチポスト嫌ったところで 屁のツッパリにもならない。
390 名前:デフォルトの名無しさん mailto:sage [2015/07/05(日) 23:50:33.88 ID:7d6Itz6/.net] あああのサイトか、見たことある でもあんまり正規表現の学習にはならないような気がする 正規表現を覚えたいなら作って試してを繰り返さないとね
391 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 01:41:38.43 ID:lhd6PF02.net] 文句は2ちゃんをクロスポストに対応させてから言え
392 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 03:32:50.53 ID:gmiPbzXR.net] peace.2ch.net/test/read.cgi/tech/1415149975/385 みたいに、 質問する者が一番最初に書いたスレのレス番付きURLを書けば、回答者は一番最初に書かれたスレへ移動して解答できる訳だが まぁ今回のクロスを見る限り、そういうのは起こりえないな クロスポストが嫌われる理由は、回答者が同じような事を各々のスレで行う二度手間と質問に対する解答が分散する事での情報の共有が起こらない事 過疎ってるスレによっては、質問されてからクロスされて別スレで解答が付いているにもかかわらず同じ解答が何ヶ月も後になって付くとかね
393 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 08:26:10.91 ID:LAMrWff0.net] 質問はいいだろう 答えをコピーして自分の手柄にする奴のほうが絶対的に多い
394 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 09:20:56.75 ID:PmLO0F5+.net] クロスポストって嫌われてたのか
395 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 09:28:03.86 ID:L6unJ2A5.net] ツイッターの拡散とかいう文化のせいでそういうの気にしないやつ増えたかもな 自分の行動の影響ってのを考えようとしない子供が多い
396 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 12:23:11.65 ID:9pvabuWR.net] お前の行動にどんだけ影響力あんねんw
397 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 13:05:36.16 ID:L6unJ2A5.net] >>389 それが逃げだと言っている でもだってあいつがはもうやめろ
398 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 13:22:29.97 ID:jRBtOUWL.net] (´・ω・)カワイソス
399 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 18:51:03.65 ID:mHy7mQ0q.net] >>390 なに突然怒ってんのw面白い馬鹿だなお前ww
400 名前:369 [2015/07/06(月) 19:56:47.96 ID:EhiPaBaL.net] >>379 これです!!!!!!!!! ありがとうございます!!! 本当にありがとうございます!!
401 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 20:30:44.10 ID:sYr/dgVc.net] 技術評論社の「正規表現技術入門」 いま少しずつ読んでるけどなかなかいいね オライリーの「詳説正規表現」は通勤電車で読むにはでかすぎたから しかしいっぺんにたくさん読もうとすると頭が拒否反応を起こすので遅々として進まない
402 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 22:02:35.59 ID:eLFiYoiP.net] >>394 遅延学習法じゃないと俺は覚えられないわ。 すげーな。
403 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 09:55:54.12 ID:hzu9oSkn.net] ちょっと気になったんですが [abc]と(?:a|b|c)って同じ?
404 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 15:19:23.56 ID:z/gFWW9M.net] 処理速度は明らかに違うね。やってること違うんだから
405 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 15:29:45.92 ID:/ztBzBD5.net] (?:a|b|c) ←横たわった赤ちゃんが「てへ」って笑っているように見える。
406 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 16:53:22.08 ID:/TIw0VBH.net] _(:3」∠)_ こういうの意味不明だったけど 90度倒すんだってことを最近学んだ
407 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 03:21:59.41 ID:E8Ycm1mp.net] 同じように見えて動作は異なる 同じ結果になることが多いけどね 後者は分岐で枝分かれするが前者はしない 枝分かれがあると他の枝に到達する前に処理が完了することがあり それによって結果が異なるケースが出てくる 具体的には・・例を考えるのがめんどくさいので省略
408 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 05:26:15.77 ID:+YvowemZ.net] (:・p わんわん
409 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 06:12:13.81 ID:coKbQ2xf.net] >>400 速度以外で副作用あるなら例示してくれないと
410 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 13:45:40.34 ID:rgM8ybmA.net] 一部の正規表現エンジンにある デフォルトungreedy やバックトラック無用オプションを使うと
411 名前:出来そうだが、 例出すのめんどくせいな。 [] [ここ壊れてます]
412 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 21:46:45.01 ID:haTSgOk9.net] (a|b|c)? あとはもう分かるね?
413 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 23:07:11.17 ID:D0NzobbPS] 分らんなぁ
414 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 08:52:15.33 ID:+eUx92Zt.net] 分かんない
415 名前:デフォルトの名無しさん mailto:sage [2015/07/26(日) 19:36:44.94 ID:ItgeJjtc.net] ●Regular Expressionの使用環境 Perl? ●検索か置換か? 検索 ●説明 全角文字のあとにスペースをおかずURLが書いてあるものをチェックしたい ●対象データ あいうえおhttp あいうえお http あいうえお http ●希望する結果 ○あいうえおhttp ×あいうえお http ×あいうえお http
416 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 01:46:46.85 ID:oJMQ9Tqm.net] 夏だねぇ。
417 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 01:59:27.68 ID:lCJIzle6.net] >>407 /[^\s ]http/i
418 名前:デフォルトの名無しさん [2015/08/15(土) 11:43:29.85 ID:R9fu6Ifz.net] 質問です。 Objective-Cで (1)文字列中の[0-9],「*」,「Z」以外の文字を半角スペースに置換えるには、 どう記述すれば良いのでしょうか? (2)同じ文字列中の別の文字(例えば「"」)も別の文字列(例えば「OK」)に置換えたい場合は、 2回に分けて行わなければいけないのでしょうか? よろしくお願い致します。
419 名前:デフォルトの名無しさん mailto:sage [2015/08/18(火) 09:52:41.61 ID:zFueqOk6.net] ●Regular Expressionの使用環境 Mery(2.3.0.5095)というテキストエディタ ●検索か置換か? 検索 ●説明 =の右側(後)のみ一致させたい ●対象データ usb:0.port = "0" usb:0.parent = "-1" Button0=FileNewAction Button1=FileOpenAction ●希望する結果 "0" "-1" FileNewAction FileOpenAction よろしくお願いします
420 名前:402 mailto:sage [2015/08/18(火) 09:54:23.67 ID:zFueqOk6.net] ●対象データ usb:0.port_=_"0" usb:0.parent_=_"-1" Button0=FileNewAction Button1=FileOpenAction ●希望する結果 _"0" _"-1" FileNewAction FileOpenAction 半角スペースが消えてしまったので_(アンダースコア)に置き換えて投稿します
421 名前:デフォルトの名無しさん mailto:sage [2015/08/18(火) 10:09:54.52 ID:E/WkoMWm.net] /[^=]*?=(.*)$/
422 名前:402 mailto:sage [2015/08/18(火) 10:20:45.79 ID:zFueqOk6.net] >>413 ありがとうございます それだと全部に該当してしまい駄目でした
423 名前:デフォルトの名無しさん mailto:sage [2015/08/18(火) 10:51:10.47 ID:3C1G6Y0R.net] /(?<=\=).*$/
424 名前:402 mailto:sage [2015/08/18(火) 10:55:39.07 ID:zFueqOk6.net] >>415 ありがとうございます 無事できました どうもありがとうございました
425 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 07:30:33.92 ID:nmY/Lo3r.net] JavaScriptで変数宣言の行 var a; var bb; var ccc = 1; /* comment */ var abc = 1; などに対して この変数名 a, bb, ccc, abc などを取り出したいのですが、 (?:.*)var ([^; ]*)(;| =).*" で良いでしょうか? 以下の前提で。 varと変数の間には半角空白一個とします。 =の前後には半角空白一個とします。 行末には必ず;があるとします。 /* var */ var var1 = 'var'; みたいなややこしいのが有った場合には、上の表現では対処出来ないように思います。 もっとスマートな記述ありますか?
426 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 07:35:38.53 ID:nmY/Lo3r.net] 補足 一行に複数の宣言がある場合も想定しない。 例 var a,b; var a;var b; などは想定しない。
427 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 07:56:53.39 ID:2BnPkC6V.net] コメントを考慮するなら正規表現一発では無理 s = 'var a = 1;'; // var a = 1; /* var a = 1; */ /* // */ var a = 1;
428 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 08:03:06.49 ID:nmY/Lo3r.net] コメントが有る場合は、 var の前に一個だけあるという前提でお願いします。
429 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 08:09:24.25 ID:hnj5IXaX.net] var a = '//ここは' /* + */ + 'コメントではない';
430 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 08:21:58.67 ID:nmY/Lo3r.net] >>421 演算も無いという前提でお願いします。 var 変数; var 変数 = 初期値; /*コメント*/ var 変数; /*コメント*/ var 変数 = 初期値; のどれかのパターン限定で。
431 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 08:26:11.19 ID:2BnPkC6V.net] こういうのも無し? /* // var a =1; */
432 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 08:34:16.58 ID:nmY/Lo3r.net] >>423 そういうのは無し
433 名前:ナお願いします。 [] [ここ壊れてます]
434 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 08:43:57.59 ID:nmY/Lo3r.net] 忘れていました。 処理系はc++のstd::regexかboost::regexで。
435 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 09:18:39.14 ID:8jY/tdOy.net] test
436 名前:デフォルトの名無しさん [2015/08/19(水) 09:36:41.17 ID:NotHJ7I4.net] ●Regular Expressionの使用環境 Python 3.4 ●検索か置換か? 検索 ●説明 Aから始まってCで終わる(Aから最後のCの中には別のCを含まない)配列が欲しいです ●対象データ "ABABBCBBBABBBBC" ●希望する結果 "ABABBC" "ABBC" "ABBBBC" よろしくお願いいたします
437 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 15:03:59.14 ID:ABRvhkR2.net] "ABBC" をマッチさせたいならPythonのコードで検索開始位置を指定しなければいけないよ それとAやCが1文字なのか文字列なのかで書き方がまったく異なるんだけどどっちかな
438 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 16:05:10.36 ID:1N+DcVii4] regexというモジュールを使うと楽だよ >>> import regex as re >>> re.findall(r'A[^C]*C', "ABABBCBBBABBBBC", overlapped=True) ['ABABBC', 'ABBC', 'ABBBBC']
439 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 21:54:24.07 ID:NotHJ7I4.net] 文字列です
440 名前:デフォルトの名無しさん mailto:sage [2015/08/20(木) 02:06:15.79 ID:uDC2QM+h.net] A(?:(?!C).)*C A、Cは文字列。検索するときのオプションは re.DOTALL 普通に検索すると "ABBC" がマッチしないのでマッチするようにコーディングを工夫しないといけない 前回マッチした文字列の先頭の位置 + 1 = 次回マッチを開始する位置 これを使って1マッチごとに検索開始位置を指定し直し、これを繰り返す マッチするものが見つからなければ検索の繰り返しを終了するようにコーディングする 使うのは re.match でなく re.search。マッチした文字列の先頭は match.start()
441 名前:デフォルトの名無しさん mailto:sage [2015/08/20(木) 02:13:38.15 ID:b7jGp5V2.net] ありがとうございます!
442 名前:デフォルトの名無しさん [2015/08/20(木) 11:38:48.95 ID:vSASgIXr.net] 正規表現って、狭義では s/unko/chinko/m でいう hoge の部分のことですよね sの部分と mの部分は それぞれなんと呼べばいいのですか?
443 名前:デフォルトの名無しさん [2015/08/20(木) 11:47:22.72 ID:pV6cw7bo.net] Where is hoge?
444 名前:デフォルトの名無しさん mailto:sage [2015/08/20(木) 15:16:54.70 ID:Ku+dT2bO.net] Oh i dont found hage.
445 名前:デフォルトの名無しさん mailto:sage [2015/08/20(木) 15:38:44.92 ID:lQ5EcHLA.net] >>433 お前が正規表現だったのか
446 名前:デフォルトの名無しさん mailto:sage [2015/08/20(木) 16:31:01.44 ID:/ofAbfuE.net] Palrez vous hoge?
447 名前:デフォルトの名無しさん mailto:sage [2015/08/21(金) 00:40:07.59 ID:sdFrMS9Z.net] anko が足りないぞ
448 名前:デフォルトの名無しさん mailto:sage [2015/08/21(金) 00:57:17.96 ID:l5C6fxn/.net] sayasayaもな
449 名前:デフォルトの名無しさん mailto:sage [2015/08/21(金) 01:02:18.54 ID:RiErs0YC.net] >>433 先頭のsの部分はoperationと呼ばれる。 末尾のmの部分はoptionだったかな。 perlでの話だけど。
450 名前:デフォルトの名無しさん mailto:sage [2015/08/21(金) 04:29:04.11 ID:Y3ixC287.net] test
451 名前:デフォルトの名無しさん mailto:sage [2015/08/21(金) 04:41:36.20 ID:dLGlSdT1.net] あーなるほど
452 名前:デフォルトの名無しさん mailto:sage [2015/08/21(金) 08:27:46.60 ID:C9kOInGB.net] >>440 mなんて使えたっけ?pしか覚えてねえ。
453 名前:デフォルトの名無しさん mailto:sage [2015/08/21(金) 08:29:47.18 ID:C9kOInGB.net] あ、sedの話だった。perlは分からん。
454 名前:デフォルトの名無しさん mailto:sage [2015/08/21(金) 08:35:06.38 ID:JFe3Ml2I.net] >>443 multi lineのm 文字列内の改行を行末や行頭として扱うオプション。 java scriptでも使えた気がするよん。
455 名前:デフォルトの名無しさん mailto:sage [2015/08/21(金) 12:24:19.85 ID:fG7y6P2l.net] Java Scriptでは、オプションとは言わずフラグと言ってる gmiとy(Firefox 3で追加)の4つがある
456 名前:デフォルトの名無しさん mailto:sage [2015/08/22(土) 16:26:06.32 ID:WBRo7qVL.net] >>440 ありがとう 助かった
457 名前:デフォルトの名無しさん mailto:sage [2015/09/01(火) 08:45:31.63 ID:lL9KDRTX.net] 文字列の一行目にだけある正規表現を適用したい場合 どういう風に書けばいいでしょうか?
458 名前:デフォルトの名無しさん mailto:sage [2015/09/01(火) 08:50:52.82 ID:dXN4Hx3i.net] \A を使いなさい
459 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 09:59:2
] [ここ壊れてます]
460 名前:1.94 ID:7arkYUNT.net mailto: 鬼車のサイトが見れなくなってる [] [ここ壊れてます]
461 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 14:27:00.34 ID:hIocF1du.net] 複数の単語が半角スペース、全角スペース、タブなど(一個あるいは複数個)で連結されているとして、それを半角スペース一個だけで連結したいんです。
462 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 14:38:16.99 ID:H2J+jlBE.net] [ \t]+
463 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 15:06:08.02 ID:OjSr213v.net] s/\s+/\s/
464 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 00:02:44.61 ID:Xqs3nieT.net] >>453 処理系何?
465 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 00:49:32.43 ID:R93LeTtd.net] 質問すらまともに出来ない奴が正規表現なんて無理
466 名前:デフォルトの名無しさん mailto:sage [2015/09/10(木) 21:59:01.69 ID:qbjnfhqx.net] 今まで任意の1文字は"."と覚えていたのですが シングルラインでは"(?s)" マルチラインでは"." があると初めて知りました シングルラインの記述はマルチラインと全く違いますが、シングルラインは1から覚えないと駄目なものなのでしょうか?
467 名前:デフォルトの名無しさん mailto:sage [2015/09/10(木) 22:29:36.80 ID:K9e6sJjq.net] 単にメタ文字の意味がちょっと変わるというだけ マルチラインだからといって一行ごとに区切って処理されてるわけじゃなく、単にメタ文字の意味が変わるだけ
468 名前:デフォルトの名無しさん [2015/09/10(木) 22:39:25.93 ID:CgmggGA3.net] これすごいと思った var list = (function() {/* ここに 任意の 文字列 */}).toString().match(/\/\*([^]*)\*\//)[1];
469 名前:デフォルトの名無しさん mailto:sage [2015/09/10(木) 23:22:04.39 ID:lE8lGtnC.net] >>457 レスありがとうございます 意味が違う(マルチラインの意味を流用できない)ってことはやはりその意味を1から覚え直さないと駄目ってことなんですよね? マルチラインだけの意味を理解しただけで喜んでいたことが恥ずかしい
470 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 00:23:03.67 ID:XlHAG1ZO.net] >>458 良い事教えてもらった
471 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 00:23:58.68 ID:suCkJgnJ.net] 別にマルチラインだけ覚えててシングルラインの動作を知らなくても困ることはないよ 余裕があったらシングルラインの動作も調べればいいし、必要無ければそのままでもいい というかググればどういう違いがあるのか一目瞭然だから気になるならググろう 別に知らなくても困らないからマルチライン一本に絞ってやっていってもいいと思うけどね
472 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 01:29:00.23 ID:Dh6jgTtm.net] >>461 ググって違いがあったことだけで具体的な違いはまだでした 正規表現はとても興味深いのでシングルラインは具体的にどう違うのか調べてみたいと思います ありがとうございました
473 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 07:00:21.81 ID:GHVwR1ig.net] >>458 どうなるん?
474 名前:デフォルトの名無しさん [2015/09/11(金) 17:05:24.41 ID:z9laoE0x.net] 質問です(Perl)。 「yyyy年mm月dd日」形式の文字列を検索して、 yyyyとmmとddを別々の文字列として受け取りたい場合は、 どう書けば良いのでしょうか?
475 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 17:53:37.67 ID:jxONgP+h.net] >>463 間に書かれた(複数行の)文字列が変数listに代入される が、 [^]* の意味が判らない??? 否定文字クラスが空? WSHやIEだと(jscript)ダメ 鬼車やrubyでもダメ [\s\S]*って書いたほうが汎用性があるんじゃないか?
476 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 18:27:00.52 ID:GHVwR1ig.net] >>465 よくわからん。 間の文字列はコメントじゃあない?
477 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 18:38:32.93 ID:9VDeBDLt.net] >>465 [^*]*の転記ミス?
478 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 19:53:46.65 ID:jxONgP+h.net] >>466 一つWSH実行で例をあげてみる var func = (function() {/* xxx */}); WSCript.Echo(func); これは無名関数(関数リテラル)で定義された関数funcを表示してみたわけだが function() {/* xxx */} と表示される これで判るんじゃない?
479 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 19:57:29.77 ID:jxONgP+h.net] 書き損じた var func = function() {/* xxx */}; WScript.Echo(func);
480 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 22:05:30.40 ID:GHVwR1ig.net] >>469 わからん。どう見てもコメントじゃあん。
481 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 22:13:39.85 ID:eqePKJqG.net] じゃあん
482 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 22:17:20.35 ID:WBH/LaOP.net] (・・?jランキング
483 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 22:19:25.84 ID:WBH/LaOP.net] ( ^ω^)
484 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 23:17:23.15 ID:jxONgP+h.net] >>470 var func; func = function() {/* xxx */}; WScript.Echo(func); //---(1) func(); //---(A) func = func.toString(); WScript.Echo(func); //---(2) func(); //---(B) (1)と(2)で表示されるものは同じだが、(A)は正常で(B)ではエラーとなる 変数funcに何が入っているのか考えれば判るだろう
485 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 01:41:58.72 ID:SpNYzqMd.net] >>464 /(¥d+)年(¥d+)月(¥d+)日/ でどうかな? $1、$2、$3で
486 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 06:10:17.28 ID:1mS4NSAq.net] 全然わからん。
487 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 10:19:21.58 ID:GXmnKqHL.net] 分からんものを使ってもデメリットしかない
488 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 11:35:33.84 ID:EtegBYPR.net] >>476 カッコで格納してドルで呼び出し
489 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 14:49:20.82 ID:1mS4NSAq.net] 448は結局どいう時にに役立つんだ?
490 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 22:39:31.81 ID:P7CwcYHV.net] >>479 データを手間なく埋め込みたいとき 普通のテキスト代入だと、 var list = 'ここに\n' + '任意の\n' + '文字列\n'; とか var list = [ 'ここに', '任意の', '文字列', ].join('\n'); って書かなきゃいけないじゃん さらに文字列中に引用符"'や\を入れるときは、'"'+"'"と分けるか、'\''とかエスケープしなきゃならないし まあhtmlなら<script>タグに入れる手もある <script id="data" type="text/plain"> ここに 任意の 文字列 </script> <script> var list = document.getElementById('data').text; alert(list); </script>
491 名前:448 [2015/09/16(水) 04:04:28.82 ID:dSgInI6n.net] 自分が調べたきっかけはこういうサイトにデータを入力するのをスクリプトでやるためです。 ※広告注意※ ttp://hibin0.web.fc2.com/grbr_atk_calc/atk_calc.html 入力するデータはスクリプトで取得してますが、 ブックマークに登録した JavaScript で簡易的にやってるので データのセットまではできないんですね。 それで、ぽとぺたの手間が少なくて済むこの方法が便利かなと。 どのみちデータとスクリプトをセットで出力して丸ごとコマンド実行するつもりですが データの部分に手を付けなくて済むので楽かなと。 その場合、特に、文字列記号の入れ子を避けられるのがメリットです。 ついでに書くと、 >>458 の書き方だと空行が入るので データとして使う場合は trim() か空行チェックが必要です。
492 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 09:34:22.52 ID:d+PGYxxz.net] ^と¥Aの違いを教えてください。 どちらも先頭にマッチするんですよね? 違いが分かりません。
493 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 10:57:00.59 ID:3CkagkiO.net] >>3
494 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 11:19:06.35 ID:d+PGYxxz.net] >>483 ググッテもさっぱり分かりませんでした。
495 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 13:45:02.23 ID:d+PGYxxz.net] 0-9の数字では無い と言う条件は [^0123456789] でいいですか? [^0-9] と書けませんか?
496 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 14:15:51.79 ID:3CkagkiO.net] >>484 >>3 の一番上のリンク先で \A で検索 >>485 \D または [^0-9] 注意すべきなのはこれらは1文字にマッチするということ 数字でない文字が1文字存在する必要がある
497 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 14:39:05.73 ID:AOGvYO3E.net] 実用的なパターンが載っているサイトってありますか?
498 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 16:35:52.59 ID:6tXr0RuA.net] めんどくさいタイプだな、めんどくさいんで適当にググるか本でも買って読んでくれ、じゃあの
499 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 16:58:01.05 ID:gMKo9Xtr.net] >>487 フクロウ本でも買えば?
500 名前:デフォルトの名無しさん [2015/09/17(木) 21:41:49.03 ID:9KwBG3P+p] >>481 > >>458 の書き方だと空行が入るので しまった。 名前欄は 2ch.net の番号で書いたのに アンカーは 2ch.sc の番号で書いてしまった。 アク禁食らったから 2ch.net に書けない。
501 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 22:33:32.80 ID:ThAKGp2R.net] 正規表現ってどうして言語ごとに違いが有るの? 厳密な規格みたいなのは無いん?
502 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 00:42:49.70 ID:4VjvFtyx.net] その土地ならではのバックスラッシュ
503 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 01:16:12.96 ID:jVOZa/zV.net] regex-testdrive.com/ja/ "aaa/bbb/ccc"から"aaa/"をマッチさせるつもりで".+?/"と書いたんですが "aaa/bbb/"がマッチします。何故ですか?
504 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 06:55:30.87 ID:V+MALMQT.net] "bbb/"というグループも".+?/"にマッチするのではなかろうか?
505 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 10:53:10.43 ID:jFHyX+Eq.net] もう来ないで欲しい
506 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 14:03:35.01 ID:qCXEI70o.net] ^.+?/ だと"aaa/"がマッチするよ
507 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 14:31:54.26 ID:qCXEI70o.net] >>493 結局、勘違いじゃないですかね? /gフラグ付きで、"aaa/"と"bbb/"の両方にマッチしてるんでない?
508 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 14:40:22.56 ID:ISETQD0O.net] 正規表現覚えるなら言語は何がお勧め? c#でやれば他の言語でも応用出来ますか?
509 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 14:44:12.71 ID:qCXEI70o.net] >>498 色々あるけど自分がよく使う環境が一番いいよ 実装が多いのを使ってみたかったら、Perlとか鬼車とかでいいんじゃない?
510 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 15:22:53.14 ID:jVOZa/zV.net] >>494 >>496-497 ああ、最後まで反復されてるってことですか 無欲の解釈に自信がなかったので気付きませんでした ありがとうございました
511 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 15:30:23.88 ID:jFHyX+Eq.net] バカすぎ
512 名前:デフォルトの名無しさん [2015/10/06(火) 15:24:45.73 ID:18FNk5ew.net] sed -i -e “s|#LoadModule php5_module libexec\/apache2\/libphp5.so|LoadModule php5_module libexec\/apache2\/libphp5.so|“ /etc/apache2/httpd.conf どこで質問すればいいのか分からなかったのでここでします 上の文章、どう変えたら動きますか? ちなみにmacです
513 名前:デフォルトの名無しさん mailto:sage [2015/10/06(火) 19:18:07.89 ID:7VCMeLNK.net] 引用符が全角なのはまずいし、sed で -i オプション使うなら、-i.bak ってした方がいい。んで sed -ne "/LoadModule php5_module/p" でマッチするかどうかから始めたらどだろか。 やりたいことはコメントマーク外すだけみたいだから、エディタで編集した方が早そうだけど。
514 名前:デフォルトの名無しさん mailto:sage [2015/10/11(日) 22:47:47.44 ID:KbfkRHMw.net] 出来るだけ精度良く住所にマッチする正規表現を教えて下さい。ネットの例はどれも性能不足でした
515 名前:デフォルトの名無しさん [2015/10/13(火) 09:00:48.01 ID:4ZQyScAP.net] 全市町村入力してマッチさせたらいいよ
516 名前:デフォルトの名無しさん mailto:sage [2015/10/13(火) 13:58:08.73 ID:P4Y/UxqF.net] >>505 物凄く長いパターンになるんじゃないか? 何文字くらいか見当もつかない
517 名前:デフォルトの名無しさん mailto:sage [2015/10/13(火) 14:17:22.83 ID:GR3E4svI.net] (((( ;゚Д゚))))
518 名前:デフォルトの名無しさん mailto:sage [2015/10/13(火) 19:13:40.45 ID:P4Y/UxqF.net]
519 名前:[a-z]のtだけは除外したい場合 [a-su-z]で出来ると思うのですが、 [^ta-z]みたいな書き方は出来ませんか? [] [ここ壊れてます]
520 名前:デフォルトの名無しさん mailto:sage [2015/10/13(火) 19:21:04.50 ID:uqM+CGI7.net] >>508 (?!t)[a-z]
521 名前:デフォルトの名無しさん mailto:sage [2015/10/13(火) 19:44:38.71 ID:P4Y/UxqF.net] >>509 ありがとうございました。
522 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 12:39:42.52 ID:lZc14wWH.net] "単語A", "単語B", "単語C" のどれも含まないパターンって どう書くのでしょうか?
523 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 13:17:34.78 ID:vyPdS64J.net] 横d
524 名前:デフォルトの名無しさん [2015/10/17(土) 14:40:06.33 ID:8crV4oii.net] >>511 どれかが含まれるパターンの否定
525 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 14:46:12.98 ID:f+gWclGN.net] ド・モルガンの法則ってやつだね
526 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 14:56:57.56 ID:5seGsXGR.net] 素直に教えてやれよ ^(?!.*単語A)(?!.*単語B)(?!.*単語C)
527 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 15:15:01.19 ID:K9XF/GDc.net] thx
528 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 15:18:00.34 ID:K9XF/GDc.net] s
529 名前:デフォルトの名無しさん [2015/10/17(土) 16:34:38.08 ID:bgoAiOcg.net] >>511 は>>2 のテンプレ使うべき 正規表現の否定の使えるプラグラミング言語なのか 単なるテキストエディタなのかでも 回答は違ってくるわけで。。。
530 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 17:24:26.45 ID:5seGsXGR.net] >>518 まあそうだが、何もそんなに杓子定規に対応しなくてもいいと思う 特別な環境なら自分から質問時に注釈をつけてるはずで 何もなければ一般的な回答でいい 否定先読みは一般的と言える(戻り読みは特殊)し、もしダメだったらまた何か言ってくるだろ
531 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 19:43:19.06 ID:lZc14wWH.net] >>515 上手く行きました。 ありがとうございました。
532 名前:デフォルトの名無しさん mailto:sage [2015/10/18(日) 18:11:22.29 ID:sPJe7rRi.net] 合致するもの以外を取得する、 否定オプションを使えば? grep -v (invert)
533 名前:デフォルトの名無しさん mailto:sage [2015/10/21(水) 06:17:27.55 ID:H3y+KU/u.net] トンデモ質問者に不満がある奴は来ないほうがいいぞ、ストレス溜め込むだけだ こんなとこで油売ってる暇があったら仕事しろ
534 名前:デフォルトの名無しさん mailto:sage [2015/10/21(水) 07:51:48.47 ID:zc5Cc/IW.net] 回答者の一部がトンデモなだけで 質問者がトンデたとは思えない
535 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 12:38:36.36 ID:n0r635Bx.net] ●Regular Expressionの使用環境 EmEditor Free 15.2.2 ●検索か置換か? 置換 ●説明 n個目の半角スペースから指定文字までを消したい ●対象データ ABC DES GER AAG AEV文字列AFGABBMNYEUDSAE ●希望する結果 2個目の半角スペースから文字列までを消す場合は ABC DES AFGABBMNYEUDSAE
536 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 14:32:37.10 ID:wNyxqlEs.net] #とにかく半角空白の数を基準にする(対象の半角空白*以降*からだよ!) ^(([^ ]* ){2}).*文字列(.*) 置換後 $1$3 #字下げは無視して、要素間の連続した空白を基準にする ^( *([^ ]+ +){2}).*文字列(.*) 置換後 $1$3
537 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 14:37:33.55 ID:wNyxqlEs.net] ごめんemエディタの置換後の書式は \1\3 だね。すまぬー
538 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 16:59:09.63 ID:n0r635Bx.net] >>525-526 ありがとうございます。本当に助かりました。
539 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 22:47:29.02 ID:tEVs0h0K.net] 半角スペースは削除するが、 《》内の半角スペースだけは残す というようなことをやるにはどうすればいいですか?
540 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 02:30:11.81 ID:0yaAkPxX.net] s/[^<>]\{-}\zs \ze[^<>]\{-}\(<[^>]\+>\)\@=//g うーん我ながらひどいwでもまあ動くぜw入れ子とか勘弁ねw@vim
541 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 05:06:05.67 ID:Gf5Di//A.net] 検索 \G[^ ]*+(?:《[^《》]*+》[^ ]*+)*+\K[ ]++ 置換 なし
542 名前:デフォルトの名無しさん mailto:sage [2015/11/04(水) 00:42:18.00 ID:2GmlXuzB.net] あ、間違えた。これじゃ誤爆する。まぁいないみたいだからいっか
543 名前:デフォルトの名無しさん [2015/11/15(日) 03:36:57.52 ID:2QREH4SF.net] Pythonで、 text=u"Dog,cat,mouse,bird.Human." を文字ごとに分割したいんですが、 import re pattern = r" |,|\." words = re.split(pattern, text) では[u'Dog', u'cat', u'mouse', u'bird.Human.']となってしまいます また、pattern=pattern = r"\s|,|\."だと分割すら行われません \sが効いていないようです どのように変えればよいですか?
544 名前:デフォルトの名無しさん [2015/11/15(日) 03:39:42.55 ID:2QREH4SF.net] ごめんなさい 上の方は、bird.Human.をbirdとhumanに分けたいのと、 pattern = r"\s|,|\."で分割されないのはtext=u'My name is ...'です
545 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 03:49:47.11 ID:+qgiEGrj.net] >文字ごとに分割したいんですが 文字ごとにって、どういう意味? 例示して
546 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 10:06:11.57 ID:LQyOcx+Q.net] \ (U+005C バックスラッシュ) が ¥ (U+00A5 円記号) になってしまっているのでは
547 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 10:15:49.91 ID:goCF/v9g.net] \
548 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 15:42:32.36 ID:rTjjRyT5.net] パターンの指定でユニコード指定してないからとかかな 環境がWindowsじゃないので試せんけど pattern = r" |,|\." ↓ pattern = ur" |,|\."
549 名前:521 mailto:sage [2015/11/15(日) 17:30:49.79 ID:FWlzzsCJ.net] みなさんありがとうございました どうも>>537 さんのurが正しいようでした >>534 [u'Dog', u'cat', u'mouse', u'bird', u'Human', u''] のようなことです
550 名前:デフォルトの名無しさん [2015/11/15(日) 18:11:41.60 ID:PV6fOtMt.net] python2系禁止ですね判ります
551 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 11:27:12.55 ID:o7BebgZg.net] mateで 【社会】わずか800円の支払いめぐり殴る蹴る 高2生徒ら3人逮捕 [11/17] みたいななんかニュースのタイトルだけ投稿してるをNGしたいんだけどどうすればいいですか?
552 名前:デフォルトの名無しさん [2015/11/19(木) 13:44:47.18 ID:QaQdEv4L.net] ●Regular Expressionの使用環境 JavaScript ●検索か置換か? 置換 ●説明 「\」(バックスラッシュ)をスラッシュ「/」に変えたいのですがうまくいきません。 普通に str.replace(/\\/g, "\/") で良いと思ったのですが、何も変わりません。 念のため、RegExpで patt = /\\/ として patt.test(str) では true になります。 どうすべきでしょうか? ●対象データ var str = C:\Test\Out\test.txt ●希望する結果 C:/Test/Out/test.txt
553 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 14:18:24.13 ID:jYNOeoK3.net] そもそもstr内のバックスラッシュ自体がエスケープ文字扱いだろ。
554 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 15:05:21.02 ID:D79COvYS.net] str = 'test\\test/test'; window.console.log(str); window.console.log(str.replace('\\','/')); window.console.log(str.replace('/','\\')); これで置換できてるけど 第一引数は正規表現オブジェクトじゃなきゃならん理由があるのけ?
555 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 15:10:19.42 ID:1wzVL5X/.net] >>541 普通にそれでいいはずだけど?("\/"はエスケープしてもしなくてもいい) <html> <script> var s='var str = C:\\Test\\Out\\test.txt'; document.write(s+'<br>'+s.replace(/\\/g,'/')); </script> </html>
556 名前:530 mailto:sage [2015/11/19(木) 15:36:16.35 ID:QaQdEv4L.net] >>542-544 確かにstrの方はエスケープ文字扱いになってますね。 ですが、処理対象の文字列は 'C:\\Test\\Out\\test.txt' のように2個の\ではなく あくまでシングルの\です。 ※ 実際 \test なんかは \t でタブ扱いになってしまってる。 あと対象データ 「var str =」 は余計に書いてました。すいません
557 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 15:50:50.30 ID:1wzVL5X/.net] >>545 javascriptの仕様は知ってるんだろ 変数に直接固定文字列を代入する場合は、""の中で\はエスケープして\\と書くが 実際の変数の中では、\一つだけの文字列だよ(表記だけの問題) 別の方法で変数に代入してるのなら、なんの問題もない (例えば、入力フォームから取り込むとかファイルから読み込む等) >>544 を実行すれば、sには\は1つだけなのがわかるはず。 (s.lengthで文字数調べてみて)
558 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 16:33:08.62 ID:D79COvYS.net] >>545 進展のないレスだな 既に>>541 の要件は満たしてるが 何が解決して何が未解決なのか、貰ったレスで何を得たのか何を試したのか 示して貰わんことには話が進まんよ エスパーしてみるけど var str =
559 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 17:16:57.37 ID:bYoVHZ0x.net] ヽ( ・∀・)ノ● ウンコー
560 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 12:19:41.67 ID:2PUB+AZr.net] Javascriptですが /abc/ と /^.+abc/ ではどちらが速い(良い)ですか?
561 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 15:54:00.79 ID:KuRdWB2c.net] 後者
562 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 15:54:35.70 ID:KuRdWB2c.net] っていうか挙動が違うから比べる意味がないな
563 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 16:14:08.95 ID:RTM8BSjV.net] うん
564 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 17:31:48.63 ID:PeVLng9H.net] wshや鬼車で比較したところでは、/abc/の方が、マッチした場合でもマッチしなかった場合でも早かったよ
565 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 17:44:44.45 ID:PeVLng9H.net] >>549 自分で確めてくれ この文字列以外だと別の結果が出る可能性もある WSHでのサンプルコードを貼りたかったけどはねられるんでダウンロードしてくれ ttp://www1.axfc.net/u/3579243
566 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 22:41:00.40 ID:820kEC52.net] >>553-554 おっしゃる通り/abc/の方が劇的に速くて驚きました 今後も活用させて頂きます わざわざありがとうございました
567 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 02:26:16.51 ID:oGP4gtxs.net] matchじゃなくてtestにするともっと差が付く
568 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 12:50:29.55 ID:bk3CsbSP.net] ブックマークレットにしてFxやChromeで実行したら雲泥の差が出た
569 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 11:07:10.45 ID:ZVfdq9M1.net] 文字列「a」を「bbb」or「cccc」or「ddd」のいずれかにランダムで変換することは 正規表現で可能でしょうか。 ●Regular Expressionの使用環境 鬼雲、またはBoost.Regex ●検索か置換か? 置換 ●説明 =の右側(後)のみ一致させたい ●対象データ a@hoge.com a@hoge.com a@hoge.com a@hoge.com ●希望する結果 bbb@hoge.com ddd@hoge.com ccc@hoge.com ccc@hoge.com よろしくお願いします。
570 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 11:16:22.98 ID:NHyuVX8f.net] てst
571 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 11:29:39.24 ID:HLJItCvE.net] 正規表現でランダム置換なんてできないだろ? つーかスパムメールでも送るつもりか?
572 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 15:16:46.07 ID:ZVfdq9M1.net] ありがとうございます、やはり出来ないですか。 私の知らないだけでもしそういったコマンドがあればと思いお聞きしました。 上は例でしたのでスパムといったことは特にないです。どうもありがとうございます。
573 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 15:37:26.82 ID:TfMgYFKH.net] 鬼雲又はBoostってことはプログラムコードの中ってことだよね だったら、 a@hoge.comをマッチさせて(aa@hoge.comをマッチさせるのかどうかは知らんが) ランダム文字列を生成したものと合成すりゃいいじゃん
574 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 15:43:04.74 ID:TfMgYFKH.net] 言語は何か知らないけど概念的にはこんな感じ loop(n) {str+=random(26)+'a';} result=textdata.replace(/a(?=@hoge\.com)/,str);
575 名前:デフォルトの名無しさん mailto:sage [2015/12/30(水) 22:24:19.02 ID:ugBw4vew.net] BREで文字列の選択はできますか?
576 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 13:36:50.40 ID:iX7NZfvy.net] back-references ならば、 \(文字列\) 参考 Regular Expressions pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html man 7 regex Man page of REGEX https://linuxjm.osdn.jp/html/LDP_man-pages/man7/regex.7.html
577 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 09:25:29.24 ID:/RiEuU07.net] ●Regular Expressionの使用環境 Perl5互換 ●検索か置換か? 検索 ●説明 リンゴの前が「い」ではない文字列だけをマッチさせたい ●対象データ おいしいリンゴ まずいリンゴ どくリンゴ つぶれたリンゴ ミカン バナナ ●希望する検索結果 どくリンゴ つぶれたリンゴ 否定などを使えば実現出来るのでしょうか。 こういったことが可能であれば教えてほしいです。
578 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 10:02:33.73 ID:6pWPF2x5s] (.*[^い])リンゴ
579 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 12:21:47.60 ID:Fs99JMqE.net] .*[^い]リンゴ .*(?<!い)リンゴ ポイント (?<!しい) の代わりに [^しい] などとするのは、考えているのとは違うものになる look-behind の場合は一文字以上でもいいが、固定長 学習用のキーワード look-behind 戻り読み 後読み
580 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 12:22:39.48 ID:Tlv8AN3c.net] /(?<!い)リンゴ/
581 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 12:33:15.19 ID:Tlv8AN3c.net] >>568 の2つには リンゴ (で始まる)にマッチするかしないかの違いがある
582 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 13:22:41.46 ID:/RiEuU07.net] >>568 >>569-570 なるほど、そのように記述すればいいのですね。 希望の動作となりました。 頂いた書き方を見ると近いところまでは出来ていたのですが、細かい部分が間違っていました。 お二方、詳しくありがとうございます。
583 名前:デフォルトの名無しさん [2016/01/16(土) 20:12:13.73 ID:VNE9XgKd.net] ●Regular Expressionの使用環境 Ruby 2.1.0 ●検索か置換か? 検索 ●説明 SYLKファイルのレコードのセパレータを以外を検索したい ●対象データ C;X1;Y3;K"foo;foo2";EFUNC("A;B";;123;;FUNC2(456;;"CD;EF;;GH"));F1 ※サンプルなので上記文字列は正しいSYLKフォーマットではありません ●希望する結果 C X1 Y3 K"foo;foo2" EFUNC("A;B";;123;;FUNC2(456;;"CD;EF;;GH")) F1 のみにマッチしたい フィールドのセパレータは";" ダブルクオーテーションで挟まれている";"はセパレータではない Eフィールド中の";;"はセパレータではない よろしくお願いします
584 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 10:54:04.10 ID:iD/f7ImV.net] 紹介程度なので間違っているところが有るかもしれない またSYLKフォーマットについてはよく分かりません ので、適当に直して下さい ポイント 部分式呼び出し(subexpression call) #!/usr/bin/ruby RE = Regexp.compile( <<'__EndOfRE__'.strip, Regexp::EXTENDED ) # definition (?<content> (?: \g<wQuote> | \g<parenthesis> | [^;
585 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 10:55:46.44 ID:iD/f7ImV.net] 紹介程度なので間違っているところが有るかもしれない またSYLKフォーマットについてはよく分かりません ので、適当に直して下さい ポイント 部分式呼び出し(subexpression call) #!/usr/bin/ruby RE = Regexp.compile( <<'__EndOfRE__'.strip, Regexp::EXTENDED ) # definition (?<content> (?: \g<wQuote> | \g<parenthesis> | [^;注意WQ()] )+? ){0} (?<wQuote> \" [^"]* \" ){0} (?<parenthesis> \( \g<content> (?: ;; \g<content> )* \) ){0} # re main \g<content>(?:;|\Z) __EndOfRE__ while gets $_.chomp! $_.scan( RE ) {|matched| p matched[0];} end
586 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 11:04:16.54 ID:iD/f7ImV.net]
587 名前:2ch の bug かな?>>573 は書き込みが途中で、切れました >>574 注意WQ の所は、ダブルクォート”(半角)です [circumflex(hat) semicolon double-quote opening-parenthesis closing-parenthesis] [] [ここ壊れてます]
588 名前:560 mailto:sage [2016/01/25(月) 00:07:23.44 ID:1Yw/SdQW.net] >>573-575 ありがとうございます。期待どおりの結果を得られました しかし >部分式呼び出し(subexpression call) Rubyリファレンスマニュアルのその項を読んでみましたが その式がどのように動くのか理解出来ず・・・orz もう少し調べてみます
589 名前:デフォルトの名無しさん mailto:sage [2016/01/25(月) 00:18:23.56 ID:PxJn4izo.net] お
590 名前:デフォルトの名無しさん [2016/01/27(水) 16:44:20.49 ID:7OoaEKpf.net] 教えてくださいC#で置換です <script type=
591 名前:デフォルトの名無しさん [2016/01/27(水) 16:48:11.79 ID:7OoaEKpf.net] <pre><code>教えてくださいC#で置換です <script type="text/javascript src="/hogehoge" ></script> に対してキャッシュ対策のためにurlの末尾に?20160125を入れたい <script type="text/javascript src="/hogehoge?20160125" ></script> 条件1 type属性は前についたり後についたりつかなかったり 条件2 urlがhttp|httpsで始まる場合外部サービスなのでクエリはつけたくない 条件3(できれば)すでに?が含まれている場合は末尾に&20160125をセットする 条件1まではできました <script(.*?)src="(.*?)"(.*?)></script> <script${1}src="${2}"${3}></script> 条件2, 3を満たすにはどうしたらよいでしょうか.</code></pre>
592 名前:デフォルトの名無しさん [2016/01/27(水) 16:55:08.37 ID:7OoaEKpf.net] 教えてくださいC#で置換です <script type="text/javascript src="/hogehoge" ></script> に対してキャッシュ対策のためにurlの末尾に?20160125を入れたい <script type="text/javascript src="/hogehoge?20160125" ></script> 条件1 type属性は前についたり後についたりつかなかったり 条件2 urlがhttp|httpsで始まる場合外部サービスなのでクエリはつけたくない 条件3(できれば)すでに?が含まれている場合は末尾に&20160125をセットする 条件1まではできました <script(.*?)src="(.*?)"(.*?)></script> <script${1}src="${2}"${3}></script> 条件2, 3を満たすにはどうしたらよいでしょうか.
593 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 17:52:47.55 ID:xlCdIBQv.net] C#は全く知らんのだけど、(<script.*src="(?!http).*)(\?)?(".*></script>)って感じで $2が入ってるかどうかで&をつけるか?をつけるか変えれば良いんじゃない?
594 名前:デフォルトの名無しさん mailto:sage [2016/01/30(土) 13:59:02.70 ID:97c75ht0.net] c:\aaa\bbb\file.txt .\bbb\file.txt file.txt など、windowsのパス(絶対、相対など)から file.txt を取り出す表現を教えてください。
595 名前:デフォルトの名無しさん mailto:sage [2016/01/30(土) 17:00:13.79 ID:TTafasRV.net] 後ろに\がない位置から末尾まで
596 名前:デフォルトの名無しさん mailto:sage [2016/01/31(日) 08:22:35.34 ID:AEa1Mqyg.net] 正規表現じゃあできないだろ
597 名前:デフォルトの名無しさん mailto:sage [2016/01/31(日) 09:01:11.31 ID:LZLEJP3w.net] /^(.*\\)?(.*)$/ で$2を取り出すとか?
598 名前:デフォルトの名無しさん mailto:sage [2016/01/31(日) 09:19:22.49 ID:ZGm5BbJ5.net] っd
599 名前:デフォルトの名無しさん mailto:sage [2016/02/01(月) 01:38:37.18 ID:42LJ55Ye.net] /[^\\]+$/ でいいよな
600 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 13:31:32.45 ID:Wp28ZdyP.net] ●Regular Expressionの使用環境 C# ●検索か置換か? 置換 ●説明 出現する>>数字のみをすべて+1したい ●対象データ >>1 >>2>>1-2 >>1-3 ●希望する結果 >>2 >>3>>2-3 >>2-4
601 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 14:46:27.61 ID:yOFSQOe0.net] >>588 そんなの何に使うと?
602 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 15:17:40.05 ID:xkCOh91z.net] それを聞いてどうする
603 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 15:31:50.69 ID:chGMw9p3.net] 問題出すために作った問題って実用性がなくてつまらんってことだな
604 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 15:36:08.94 ID:yRO4HgSK.net] 実用性がなかろうが殺人用途だろうが このスレが知ったことではない
605 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 15:44:26.23 ID:rxAKW9Tr.net] >>588 ideone.com/DkmZzV
606 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 17:10:36.37 ID:Wp28ZdyP.net] >>593 ありがとうございます。 申し訳ないのですがこちらの言葉足らずでした。 データには数字だけでなく他の文字も含まれています。 要は2chのアンカーと全く同一です。 その中からアンカーに関連する数字のみをすべて+1したいのです ●対象データ >>1 乙 >>2 なんたら >>1-2 かんたら >>1-3 うんたら ●希望する結果 >>2 乙 >>3 なんたら >>2-3 かんたら >>2-4 うんたら
607 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 17:50:46.40 ID:qIgOE2Mph] (?<=>>)([\d-]+) 後の処理はご自分でドーゾ。
608 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 17:51:34.47 ID:oL+DFss1.net] (?<=>>)([\d-]+) 後の処理はご自分でドーゾ。
609 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 20:27:18.56 ID:Wp28ZdyP.net] >>596 どうもありがとうございました。何とか出来たようです。
610 名前:デフォルトの名無しさん [2016/02/16(火) 22:58:07.87 ID:5hX1n3eK.net] NGexでIP表示スレの特定範囲IPをアボーンしたいのですが これを正規表現にするとどんなかんじでしょうか? ↓ 182.248.0.0-182.251.255.255
611 名前:デフォルトの名無しさん [2016/02/16(火) 23:41:05.17 ID:WEL4Qqsyw] www.analyticsmarket.com/freetools/ipregex ^182\.(2(4[8-9]|5[0-1]))\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$
612 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 00:34:07.03 ID:BOXLOMwS.net] 2(4[89]|5[01])
613 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 21:08:52.87 ID:fiOWql8G.net] 11以上の数値にマッチする正規表現はどうやって書けば良いでしょうか?
614 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 22:12:34.67 ID:Nn93sxwn.net] >>601 全然スマートじゃないけど /0*[1-9](?:0\d+|[1-9]\d*)/ とか /0*(?!10(?:\D|$))[1-9]\d+/ とか
615 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 22:59:54.37 ID:fiOWql8G.net] >>602 ありがとうございました! 凄く助かりました 上は20,30,40,50等がヒットしないようなので 下を使わせて頂きます 本当に困っていたので涙が出るほど嬉しかったです
616 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 23:36:44.62 ID:pjLhb+yw.net] (1[1-9]|[2-9][0-9]|[1-9][0-9][0-9]+)
617 名前:デフォルトの名無しさん [2016/03/01(火) 00:13:29.69 ID:yoDa+UzO.net] JavaのMatcherクラス <div id="aaa"> </div> <div id="bbb"> <div id="ccc"> <div id="ddd"> </div> </div> </div> ネストしてるdivタグの囲った範囲の文字列抽出と、idの中身を取り出したい んだけど、入れ子になってるもののマッチってどうすればいい?
618 名前:デフォルトの名無しさん mailto:sage [2016/03/01(火) 00:57:17.60 ID:QFDKhVDb.net] >>605 Java知らんけど再帰をサポートしてない正規表現なら 自分でパースする関数を作ったほうがいい
619 名前:デフォルトの名無しさん [2016/03/07(月) 14:11:54.25 ID:oj83hPpT.net] # .*? の、? は最短マッチ str = File.read('File1').gsub(/^=begin.*?^=end/m, '') =begin 複数行コメント =end Rubyで、行頭=begin 〜 行頭=end で囲んだ、複数行コメントの部分を、複数行の最短マッチで削除したいのですが、=end の同じ行内で、 後ろに書いた、改行以外の部分もついでに削除したい。以下の ' ABC' =begin 複数行コメント =end ABC
620 名前:デフォルトの名無しさん mailto:sage [2016/03/07(月) 14:26:17.00 ID:oj83hPpT.net] >>605-606 木構造を持っているものは、正規表現では無理なので、Parserを使う
621 名前:593 mailto:sage [2016/03/07(月) 14:43:24.76 ID:oj83hPpT.net] >>607 自己レス # .*? の、? は最短マッチ str = File.read('File1').gsub(/^=begin.*?^=end/m, '#') str.gsub!(/^#.*$/, '') 元々、行頭が # の行も削除するので、 いったん、複数行コメントの部分を、# に置換してから、 行頭が # の行を削除するようにした =begin 複数行コメント =end ABC これが、以下に置換される # ABC
622 名前:デフォルトの名無しさん mailto:sage [2016/03/07(月) 15:18:29.62 ID:+tQLURZK.net] gsub(/^=begin.*?^=end.*$/m, '')でいいんじゃないの?
623 名前:593 mailto:sage [2016/03/07(月) 18:33:50.83 ID:oj83hPpT.net] >610 # .*? の、? は最短マッチ str = File.read('File1').gsub(/^=begin.*?^=end.*$/m, '') 複数行マッチで、$ を使ったら、ファイルの最後まで削除された。 以下で、' ABC' だけではなく、'123' も削除された。 たぶん、$ が機能しないで、無視される =begin 複数行コメント =end ABC 123
624 名前:デフォルトの名無しさん mailto:sage [2016/03/07(月) 19:40:41.19 ID:bcG1DORl.net] [\r\n]=end[^\r\n]+
625 名前:593 mailto:sage [2016/03/07(月) 20:46:34.99 ID:oj83hPpT.net] >612 改行コードが、[\r\n]限定で、それで出来ました。 gsub(/^=begin.*?[\r\n]=end[^\r\n]+/m, '') =begin 複数行コメント =end ABC 123 これで、ABCも削除されて、123だけが残ります
626 名前:デフォルトの名無しさん mailto:sage [2016/03/07(月) 22:28:10.83 ID:HxQlSEZO.net] >>611 自コメで書いてる
627 名前:デフォルトの名無しさん mailto:sage [2016/03/07(月) 22:33:56.04 ID:HxQlSEZO.net] >>611 自コメで書いてる”end.*?$”はどうだったの
628 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 10:02:12.73 ID:N+gwerl0.net] stra.gsub(/^=begin[^{=end}]*=end[^\r\n]+/m,'')
629 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 13:04:09.09 ID:810kd9as.net] >>610 に ? をつければ、要件を満たすでしょ? つまり /^=begin.*?^=end.*?$/m >>611 > たぶん、$ が機能しないで、無視される .* だと、123まで greedy に食べて、文の終わりで $ がマッチする >>607 > 後ろに書いた、改行以外 と書いてはいるが、もし =end ABC の直後の改行まで含めるなら /^=begin.*?^=end.*?(?:^|\z)/m
630 名前:593 [2016/03/09(水) 00:51:28.21 ID:t6r0Jvyr.net] >>616 難しそう >>617 # .*? の、? は最短マッチ gsub(/^=begin.*?^=end.*?$/m, '') .*?$ で、最短マッチで、直後の行末に一致しました =begin 複数行コメント =end ABC 123 これで、123 だけが残ります
631 名前:デフォルトの名無しさん mailto:sage [2016/03/09(水) 16:28:40.83 ID:i4NOJr2P.net] エスケープを考慮した置換or検索ってどうやるのでしょうか? foo
632 名前:デフォルトの名無しさん mailto:sage [2016/03/09(水) 16:35:42.75 ID:i4NOJr2P.net] 途中で書き込んでしまいました>< ”は実際には半角のダブルクオーテーションです。 foo”hoge\”fuga\””bar から ”hoge\”fuga\”” を切り出したいのです。 環境は dlang.org/phobos/std_regex.html です。
633 名前:デフォルトの名無しさん mailto:sage [2016/03/09(水) 16:42:08.96 ID:QVSpkpW+.net] >>619 ご機嫌だな
634 名前:デフォルトの名無しさん mailto:sage [2016/03/09(水) 17:14:05.70 ID:pSSorbbr.net] (?<!\\)".*?(?<!\\)" でダメかな?
635 名前:デフォルトの名無しさん mailto:sage [2016/03/09(水) 18:05:33.74 ID:lkt9n8as.net] "(?:[^"\\]|\\.)*" 基本 [^"]* エスケープを加える (?: [^"\\] or \\. )*
636 名前:デフォルトの名無しさん mailto:sage [2016/03/09(水) 19:55:26.16 ID:CzXZOLWV.net] >>623 \"hage\"foo"hoge\"fuga\""bar
637 名前:デフォルトの名無しさん mailto:sage [2016/03/09(水) 20:45:11.70 ID:lkt9n8as.net] >>624 >>622 の後で書き込んでいる。当然、考慮済み それは、必要なら改めて加えれば良い類の、余計な例示
638 名前:デフォルトの名無しさん mailto:sage [2016/03/10(木) 02:05:51.88 ID:mX7rq38E.net] >>625 いや明らかに不親切だろ こんな質問する奴にそこまで考慮が及ぶとは考え難い 一言あってしかるべきだったと思うけど まあ例示は変だけどね こんなのはあるかも知れない (`"aaa`) == "\"aaa" まあ事ほどに言語の記述に正規表現を適用するのは難しい
639 名前:デフォルトの名無しさん mailto:sage [2016/03/10(木) 07:41:20.34 ID:zEnJuJZN.net] >>626 明らかに不親切かなあ? 「明らか」なのか? ただの >>626 の主観でしかなくないかい? どちらかというと俺は、解説やキーワードを付けたりして、親切にしているのだが。 エスケープされたダブルクォートが、ダブルクォートの外に出ている等の場合が普通に想定されるなら 何か断りを入れるよりも、正規表現に加えるよ 通常想定されない余計な場合を考えて、余計なものを付け加えて複雑化したものよりも、 シンプルで理解が進むだろうと、俺は思うよ そしてその方がより親切だと思う。まあ、自分の主観でしか無いが > (`"aaa`) == "\"aaa" これには >>622 もマッチに失敗するけど、別段おかしいとは思わない こういう別のクォートは、そのクォートの方で処理するべき 他にもシングルクォートや、正規表現 /.../ の中でダブルクォートが存在する場合も有るだろうけれど 別のクォートまで一々書かないよね ああ、もう時間だ
640 名前:デフォルトの名無しさん mailto:sage [2016/03/10(木) 11:41:50.66 ID:qiWLYw+g.net] foo”hoge\”fuga\””bar から ”hoge\”fuga\”” を取り出したい 他のケースはなにも考慮しなくていい というなら ".*" で済んでしまうな
641 名前:デフォルトの名無しさん mailto:sage [2016/03/10(木) 18:35:57.99 ID:mX7rq38E.net] >>627 最初のレスはいい 次の>>625 が問題レスだって言ってる これにカチンとくる奴はいっぱいいるぞ それと (`"aaa`) == "\"aaa"は言語の解析に正規表現を使うっていうこと自体の 無理っぽさを言ったまで パーサーを使うべき問題
642 名前:デフォルトの名無しさん mailto:sage [2016/03/11(金) 12:11:21.08 ID:iOVIDxci.net] 無言で難癖の類をつけている >>624 や、必要のない想定について 「一言あってしかるべき」などと続けている >>626 の方に 疑問を持つ人の方が一杯いそう 他人の解答に何か言うのではなく、不満なら自分で答えればいい 他人の解答がなにか言葉が足りないと思うなら、そっと付け加えれば良いだけ
643 名前:デフォルトの名無しさん mailto:sage [2016/03/11(金) 16:42:52.81 ID:YbW0J/IA.net] 解説をつけて親切に教えたという人が>>625 を同じ口で言うとは俄かに信じがたい
644 名前:デフォルトの名無しさん mailto:sage [2016/03/12(土) 17:14:20.51 ID:ECchds7o.net] 悪意の有る人間に同じ様に親切にする奴なんていないだろ
645 名前:デフォルトの名無しさん mailto:sage [2016/03/12(土) 18:28:04.43 ID:6kiXFdsY.net] はいはいお前が正しいからもういいって お前ってのはこのレス読んだお前のことな
646 名前:デフォルトの名無しさん mailto:sage [2016/03/12(土) 22:46:54.63 ID:85ImJBBX.net] 未だに何が問題だったのか認識してないようなので解説をば ・まず完璧なレスは誰にも期待はできないので抜けや間違いがあっても仕方はない この点を考慮して、最初のレスに不備は全く無い ・次に>>624 がいちゃもんだと決め付けて、「そんなことお前よりわかっとるわい、黙っとれ」 みたいなレスが問題点だと言える もし、解説し忘れて抜けてたんだったら、きちんと解説すればいいし、 熟考の上でわざと書かなかったのなら、こんなレスはつけずに無視してれば良かった それに、>>624 はいちゃもんとは限っていない >>623 だとこういう問題点もあるということを質問者に気づかせる意図だったのかも知れない その場合リンクを>>620 にするかってことだが、何も文章を書かずに例示するだけなら 俺でも>>623 にリンクを貼ると思う まあプライドが高くてすぐに剥がれるようなメッキはちょっと見苦しい
647 名前:デフォルトの名無しさん mailto:sage [2016/03/13(日) 22:55:06.34 ID:5pC+CJpl.net] >>624 は、好意的に見てもせいぜい 「エスケープしたダブルクォートが、もしも外に有ったらどうするんだよ?」 位にしか読めないじゃないか 「何言ってんの?お前」って返されても文句言えないだろ そうは思うが、>>625 では淡々と事実だけ書いたんけどな ああ、気分わるいなあと思ったが感情を抑えて、事実だけな >>624 の様に無言でレスを付ければ、指摘だけしか無いのだから、 どう解釈されても仕方が無いよな。指摘だけで勝負だろ 誤解を生みやすく、結果的に相手の感情を害したとしても。 もし、相手を傷つける意図がないならば、感情の行き違いを避け、 誤った意図やニュアンスで伝わらない様に、文章を添えるべきだよね >>624 では、バカにされても仕方が無い様な、おかしな指摘を無言でしておいて、 こちらはそれもしていないのだが、語句がキツくて気に入らないとか、 逆ギレもいいところだろ。怒っていますと繰り返している、 あなたの方がお高いプライドの持ち主なんじゃないの?
648 名前:デフォルトの名無しさん mailto:sage [2016/03/13(日) 22:55:30.93 ID:5pC+CJpl.net] > 熟考の上でわざと書かなかったのなら、こんなレスはつけずに無視してれば良かった 無言のレスに、レスを付けて何が悪いのか?は? > 質問者に気づかせる意図だったのかも知れない 自己弁護も白々しく、しかも都合が良すぎる そんな相手の意図まで、相手の都合の良い様に汲み取るべきとか。おかしいだろ > 俺でも>>623 にリンクを貼ると思う この過疎スレで、なに第三者のふりをしているの?本当に第三者だとして 他人の言い合いなんかにわざわざ首を突っ込んできているんだ。へぇー(棒)
649 名前:デフォルトの名無しさん mailto:sage [2016/03/14(月) 11:28:40.42 ID:+5uiuB8z.net] こういう言い合いになると最後にレスしたほうが勝ちだと思ってる奴多いけど 実際のところ最後になった奴が一番惨めだよな どうだ言い返してやったぞ、今度は何言ってくるんだ言えるものなら言ってみろよと wkwkしながらスレリロードしてるのに、誰からもレス付かないまま立ち消えていくのは 勝利とはほど遠い虚しさで不憫きわまりない
650 名前:デフォルトの名無しさん mailto:sage [2016/03/14(月) 12:26:39.42 ID:OwtYwpEx.net] いい加減スレチ 言い合いは他所でやれ
651 名前:デフォルトの名無しさん mailto:sage [2016/03/14(月) 16:31:18.59 ID:CkOIJo3B.net] visual studioの検索置換で正規表現使うと、なんか動きがおかしい時ないですか?
652 名前:デフォルトの名無しさん mailto:sage [2016/03/15(火) 07:11:42.49 ID:bcM3RviG.net] 自演乙
653 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 22:11:37.95 ID:DRR7a7MQ.net] ●Regular Expressionの使用環境 → 無料のテキストエディタ、または秀丸 ●検索か置換か?→ 検索 ●説明 @行頭が数字で始まらない、Aを含む行だけ検索したい。 A行頭が数字で始まらない、行末にAが来る行だけ検索したい。 ●対象データ 123 fooA foobarA foobar 548 fooA foobarA foobarA ●希望する結果 @ foobarA foobar foobarA foobarA A foobarA foobarA よろしくお願いします。
654 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 23:44:13.39 ID:8UZGwfqY.net] >>641 ^[^\d].*A.*$ ^[^\d].*A$
655 名前:デフォルトの名無しさん mailto:sage [2016/03/20(日) 00:17:07.16 ID:6E3rfl+p.net] thx
656 名前:デフォルトの名無しさん mailto:sage [2016/03/20(日) 01:10:35.08 ID:dD/6nOCQ.net] >>636 悪くはないかもしれないが、どうしても一言言わずにゃおれなかったっていうみえみえの心理状態だな
657 名前:デフォルトの名無しさん mailto:sage [2016/03/20(日) 04:18:17.30 ID:P2wGuxR2.net] >>642 ありがとうございます。
658 名前:デフォルトの名無しさん mailto:sage [2016/03/20(日) 07:03:52.63 ID:BKY+bqXr.net] <div> <p></p> <p></p> </div> <div> <p></p> <p></p> </div> こういうhtmlを2つの<div>のグループに分離したいのですが、 <div>.*</div> とすると当然、先頭の<div>と末尾の</div>にマッチしてしまいます。 途中の<div>や</div>にはマッチさせない記述を教えて下さい。 👀 Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
659 名前:デフォルトの名無しさん mailto:sage [2016/03/20(日) 08:42:50.38 ID:4Rc5hh5g.net] >>644 普通レスを返すだろ >>640 では、気を使って抑え気味にしてやったのに、まだ言うかw 「こんなレスはつけずに無視してれば良かった」のは、まさにお前の様な奴に投げかけられる言葉 こんな >>624 >>626 >>628 例をあげて恥ずかしくないの? こんな >>637-639 みっともない自演をしておいて、恥ずかしくないの?
660 名前:デフォルトの名無しさん mailto:sage [2016/03/20(日) 11:16:00.38 ID:zSHF45+D.net] >>646 <div>.*?</div>
661 名前:デフォルトの名無しさん mailto:sage [2016/03/20(日) 12:04:54.80 ID:BKY+bqXr.net] >>648 ありがとうございました。
662 名前:デフォルトの名無しさん mailto:sage [2016/03/20(日) 20:07:22.01 ID:tOEh7O6K.net] >>605 それPEG使ったほうがいい。最近勉強したけど楽しい。 構文解析って名前ほどおっかなくないよ
663 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 13:05:37.99 ID:NsIeGKek.net] >>650 普通にパーサー使って xpathで//div/@idかcssセレクタでdiv[id]でよくね
664 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 16:52:39.49 ID:LLptTgcg.net] 正規表現の文字クラスで質問です。例えば [0-9]は数字を表しますよね。また、\dも数字ですよね。 \dを[]内で使って[\da-z]で数字と小文字のa-zとかってありなんでしょうか?? 縦棒を使って (\d|[a-z])でやれば明白ですが。
665 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 17:03:53.30 ID:LLptTgcg.net] お騒がせしました。[\d]はありっぽいですね。
666 名前:デフォルトの名無しさん mailto:sage [2016/04/03(日) 00:37:59.69 ID:wkb28L2F.net] >>647 >>625 での主張は「俺は知ってるぜ」 これだけを言いたいがための発言
667 名前:デフォルトの名無しさん mailto:sage [2016/04/03(日) 19:57:17.70 ID:tpyVZV/3.net] >>654 >>654 での主張は「全て論破されていて悔しいです」 これだけを言いたいがための発言
668 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 00:17:04.24 ID:TBgct8lK.net] >>625 のいけないところは 素直に知ってたよって言えば誰も噛み付かなかったのに、プライドが邪魔したのかひねくれた言い方をした点
669 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 01:37:22.43 ID:TBgct8lK.net] >>655 勝ち負けを言えば、>>647 を書かせた時点で決着してる 相手を全部同一視して粗探しするその品性の悪さを引き出したって点でね それに、喩えると 交通違反して注意された相手に向かって、みんなやってることだとかお前だってやってた って言っても自分のしたこととは関係ないことであり論理的に意味がない
670 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 21:25:02.74 ID:im7Mb0Qo.net] 品性の悪さを引き出した -> 勝ち この論理性の無さ... それに加えて、無意味な喩え話... ある程度、会話が通じる人かと思っていたのだが 残念だ。残念な知性だな 正規表現の実例についてもつくづくそう思うが もう少し考えてから書き込んでみたらどうか?
671 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 21:26:10.86 ID:im7Mb0Qo.net] 勝ち負けと品性が直接の関係は無いが、品性の悪さについて 品性の悪さって、自演をした人が言える事なのか? たとえ自演がなくとも、 何度も同程度の発言を、そちらからもしている事に気付かないのかな? >>631 の嫌味っぽい口ぶりや、>>634 の「解説をば」みたいな上からの物言い >>634 最後の一行では、無意味なただの悪口 そして決定的なのは、自演をしていた事。これについては、同程度どころでは無い これらは、品性の悪さに該当しないと思っているのか?
672 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 09:00:13.83 ID:2zN0IQcS.net] ワラタw まさにどちらが最後まで醜態を晒し続けるかの勝負だな いいぞもっとやれ
673 名前:デフォルトの名無しさん [2016/04/06(水) 10:46:43.24 ID:xAgh0Pyq.net] JAPANXXX JAPANYYY JAPANZZZ 上のような文字列のうち最後のJAPANZZZの部分を取りたいです XXX YYY ZZZの部分は3文字からなる大文字になっていて もちろんJAPANZZZで文字列が終わっているわけではありません 今はJAPAN([A-Z]{3})で全て取得したのをリストに入れて リストの一番最後の要素を取り出すという手法で対応していますが 正規表現1つで出来たりしませんか?
674 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 12:52:05.84 ID:BFsTf7eA.net] 先読み・後読みなどで、出来ない?
675 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 13:15:18.35 ID:RIb7jbh2.net] どうなの
676 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 13:17:07.81 ID:xwA6Cy1b.net] キャプチャで最後に残った値
677 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 13:17:59.59 ID:RIb7jbh2.net] (・∀・)
678 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 14:05:37.34 ID:q1HrDxSz.net] 俺だったら"JAPAN"でsplitして三番目を取る
679 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 17:09:53.06 ID:Ek6gxOxq.net] (?:^JAPAN[A-Z]{3}\n)*(^JAPAN[A-Z]{3})(?:\n|\z)
680 名前:デフォルトの名無しさん [2016/04/07(木) 16:14:06.36 ID:CD0MGG23.net] perl -0777 -ne '/.*JAPAN([A-Z]{3})/s and print( $1)' みたいなこと?
681 名前:647 mailto:sage [2016/04/07(木) 16:34:11.93 ID:EyxL+HBb.net] 皆様レスどうもありがとうございました >>668 これでバッチリです ちょっと$0はカオスなことになりますが なるほどなーって思いました 本当ありがとうございました!
682 名前:デフォルトの名無しさん [2016/05/01(日) 11:29:16.87 ID:tKi6j9CT.net] 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、 BitTorrentがオープンソースで開発されています 言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか? Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします https://twitter.com/Lyrise_al ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw The Covenant Project 概要 Covenantは、純粋P2Pのファイル共有ソフトです 目的 インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します 特徴 Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW) 接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です DHTにはKademlia + コネクションプールを使用します UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります) 検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません 1
683 名前:デフォルトの名無しさん [2016/05/04(水) 09:53:54.35 ID:runBAjzV.net] FXのヒストリカルデータで、休日の値動きの無い連続複数行(数百〜数千行)範囲を置換で削除したいのですが 正規表現での表記方法はありますでしょうか? 2003.05.09 20:55:00 1.14859 1.14875 1.14853 1.14862 517.5 2003.05.09 20:56:00 1.14867 1.14882 1.14862 1.14882 584.7 2003.05.09 20:57:00 1.1488 1.14886 1.14854 1.14859 1268.8 2003.05.09 20:58:00 1.1487 1.1487 1.14845 1.1485 1089.5 2003.05.09 20:59:00 1.14863 1.14897 1.14838 1.14877 1558.5 2003.05.09 21:00:00 1.14877 1.14877 1.14877 1.14877 0 2003.05.09 21:01:00 1.14877 1.14877 1.14877 1.14877 0 2003.05.09 21:02:00 1.14877 1.14877 1.14877 1.14877 0 上記の例では、2003.05.09 21:00:00以降で1.14877が継続する行全部を削除したいです。
684 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 10:33:36.14 ID:kVGM/VsN.net] できません
685 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 11:00:55.09 ID:S+T3H7rB.net] >>671 一度一致した文字列の複数回出現や繰り返しは、「後方参照」で表現できる ^\d{4}\.\d{2}.\d{2} \d{2}:\d{2}:\d{2} ([.0-9]+) \1 \1 \1 0$
686 名前:657 mailto:sage [2016/05/04(水) 15:43:24.43 ID:Z8i1J0Td.net] >>673 ありがとうございました
687 名前:デフォルトの名無しさん [2016/05/05(木) 14:54:42.43 ID:jemhh2fV.net] すんませんわけわかんなくなってきた 「1回以上の abcdefg いずれ
688 名前:ゥの文字の繰り返し、ただし ccd+cc を含まない」 例えば abcd 、 ffgabc 、 bbbbbbbbbbbbbdddddbbbbbbb にはヒットし abcdffgabcbbbbbbbbbbbbbdddddbccdddddddddccbbbbbb をかけると abcdffgabcbbbbbbbbbbbbbdddddb (と bbbbbb )を得られる正規表現 どうやって作ったら良いんでしょうか [] [ここ壊れてます]
689 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 15:07:34.77 ID:/qWvSKFr.net] できません
690 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 15:08:33.46 ID:WWv6suKc.net] >>675 例が悪い。 もう少し簡潔な例をたのむ
691 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 15:44:38.89 ID:jemhh2fV.net] >>677 混乱しててマジすまん。要は>>8 の文字列じゃなくてパターンな版なんだと思う 「fuck you hageatama atodekorosuwaboke」からアルファベットのみで構成されるものを取り出したい、 ただしatではじまり間にaを含まずaで終わる範囲は無視させたい この場合は【fuck、you、hage、ma、boke】を抜き出したい わずかでもわかりやすくなっただろうか
692 名前:デフォルトの名無しさん [2016/05/05(木) 17:02:33.50 ID:Vl8awOB0.net] perl -ne 's/at.*?a/ /g ; while ( /([a-z]+)/g ){ print("$1\n") }' みたいなこと?
693 名前:デフォルトの名無しさん [2016/05/05(木) 17:04:50.71 ID:Vl8awOB0.net] ごめん、 perl -ne 's/at[a-z]*?a/ /g ; while ( /([a-z]+)/g ){ print("$1\n") }' の方が適切か?
694 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 17:21:59.07 ID:jemhh2fV.net] そうそう本当まさにそんな感じ ちょっと面倒な置換処理だから前後逆になるけど今はそうやって2回かけて処理させてる
695 名前:デフォルトの名無しさん [2016/05/06(金) 06:53:01.39 ID:x6pgYKN7.net] 置換無しでやりたいならできなくもないが…… perl -ne 'print("$_\n") foreach grep { defined } /at[a-z]*?a|((?:(?!at[a-z]*?a)[a-z])+)/g' あまりおすすめする気にはならない。
696 名前:デフォルトの名無しさん [2016/05/06(金) 07:23:44.50 ID:x6pgYKN7.net] これの方がいいかな…… perl -ne 'print("$_\n") foreach map { /([a-z]+)/g } /\G(.*?)at[a-z]*?a/cg , /\G(.*)/'
697 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 17:29:17.30 ID:TO5u1IEC.net] ムリしてみた print $1 while /(?:^|\s+|at[b-z]*a)?([a-z]+?)(?:$|\s+|at[b-z]*a)/g; 普通はこんな感じだろうな… print foreach grep /^[a-z]+$/, split(/\s+|at[b-z]*a/);
698 名前:デフォルトの名無しさん [2016/05/08(日) 22:30:43.49 ID:F7OZ3lhh.net] ある関数の第一引数の中身Aだけをとるような正規表現を書いているのですが上手く書けません。 サクラエディタのgrepで試しています。 本文: func('A','B','C') 正規表現(funcから第一引数のシングルクォーテーションまでひっかかってしまう) func\('.+?'
699 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 22:53:57.63 ID:Se7Rfius.net] >>685 こういうのじゃなくて?前段(?<=look-behind)に可変長使えないけど (?<=func\(').+?(?=')
700 名前:デフォルトの名無しさん [2016/05/08(日) 23:12:33.60 ID:F7OZ3lhh.net] 関数の前の文は可変長でなく、行頭固定になっています。 ↑こういうことでいいのでしょうか?? 結果として「A」が欲しいのですが、 「array('A'」が返ってきます。 抽出には2つぐらい側面があると思います。
701 名前:P.関数の構文を抽出 2.第一引数を抽出(囲み文字除去) これを一度にできるのかよくわかっていません。 最低限の情報「func('A'」は取れているので、 ここから整形していくのでも事足りますが。 [] [ここ壊れてます]
702 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 23:33:47.20 ID:Se7Rfius.net] >>687 >>686 で取れない?結果出力を該当部分(P)にしても? ・うちとこの出力 > □検索条件 "(?<=func\(').+?(?=')" > 検索対象 * > フォルダ M:\home\kirin\desk > (サブフォルダを検索しない) > (英大文字小文字を区別しない) > (正規表現:bregonig.dll Ver.3.06 with Onigmo 5.15.0) > (文字コードセットの自動判別) > (一致した箇所のみ出力) > ◎"C:\home\mityaiyan" > ■ > ◆"無題1.txt" [SJIS] > ・( 1,7 ): A > 1 個が検索されました。 ・C:\home\mityaiyan無題1.txt の内容 > func('A','B','C')
703 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 23:40:40.22 ID:Se7Rfius.net] フォルダ名誤魔化せてねえw酔っ払いは寝ますw
704 名前:デフォルトの名無しさん [2016/05/08(日) 23:41:37.38 ID:F7OZ3lhh.net] >>688 ありがとうございます。取れました! たまに正規表現使うけど、毎回つまづきます。 ドリルみたいなのやろうかなぁ。
705 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 23:50:09.70 ID:Se7Rfius.net] あ、よかったよかったw sakuraでも出来るけど、vimのインクリメンタルサーチ(キーボードコマンド / )が 即反応すっから楽よ(vimrcに :set hlsearch incsearch)。windowsならkaoriyaさん行けばなんとかなるっしょ。
706 名前:デフォルトの名無しさん [2016/05/09(月) 00:25:28.10 ID:d1XxHLWY.net] はい、試してみます! vim使えるとかっちょいいですよね。
707 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 14:28:46.48 ID:vqaogAj1.net] []や|で条件を書き並べる場合って頻出するものほど左側に書いたほうがいいのでしょうか? 左から順に調べてるようならその方がいいかなと思ったのですが
708 名前:デフォルトの名無しさん [2016/05/10(火) 16:04:02.58 ID:eU8B0sOX.net] Perl で (pat1|pat2) という書き方をした場合は pat1 にマッチしたら pat2 は試行されない。 perl -e 'print("abcde" =~ /(c.|.de)/ )' だからマッチさせたい順に書く必要がある。 文字クラスの場合は「そこに書いてあるすべての文字」に含まれるか(あるいは含まれないか)だから順序は関係ない。 処理系の実装の仕方によっては速度に影響するかもしれないが心配するほどの事はないだろう。 Perl じゃないなら違うルールがあるかもしれない。マニュアルに書いてあるかもしれないし明確には書いてないかもしれない。
709 名前:デフォルトの名無しさん [2016/05/10(火) 16:26:20.31 ID:eU8B0sOX.net] (pat1|pat2) と書いたときの pat1 と pat2 が排他的にしかマッチしないと判ってるなら 頻出するものほど先に試行されるように書けば速くなる可能性はある。 でもそれが「左から順に」なのかどうか…少なくとも Perl はそうだし大抵そうだとは思うけど……
710 名前:デフォルトの名無しさん [2016/05/10(火) 16:49:53.11 ID:eU8B0sOX.net] もしかしてだけど、flex とかを使ってるなら、頻出する順かどうかはあまり関係ないことになる。 これはパターンを DFA にコンパイルしているからで、grep も可能な場合はそうしているらしい。 おそらくあなたはそんなややこしいことを知りたかったわけではないでしょう。本当に申し訳ありません。 でも結局の所、あなたが何を使っているのか判らないので明確には言えないのです。
711 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 16:54:06.71 ID:1NI6zfsZ.net] 速度は実測が基本
712 名前:デフォルトの名無しさん [2016/05/10(火) 23:01:59.50 ID:4a+25nqa.net] DFA型は原理的に最長一致になる たとえばAWKはそのパターン
713 名前: NFA(VM)型はそうではない Perlなど [] [ここ壊れてます]
714 名前:デフォルトの名無しさん mailto:sage [2016/05/13(金) 17:17:28.22 ID:+WUK7FN+.net] ここに書いてある正規表現はどう書けばいいでしょうか? potato.2ch.net/test/read.cgi/software/1463030885/10
715 名前:デフォルトの名無しさん mailto:sage [2016/05/13(金) 17:34:44.27 ID:+WUK7FN+.net] と実体参照で空白文字が保存されていました ありがとうございました
716 名前:デフォルトの名無しさん mailto:sage [2016/05/13(金) 17:35:05.24 ID:+WUK7FN+.net] &#32;と実体参照で空白文字が保存されていました ありがとうございました
717 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 21:09:44.20 ID:IB3IbmGC.net] ソフトウェア板のwhitebrowserスレで質問しましたが人がいないようなので ここで質問させてください。 <div class="aaa"></div> <div class="bbb"> <p class="ccc">文字列komento <div class="ddd">文字列<A href="eee/" >文字列</A>文字列</DIV></DIV> webから文字列komentoの部分が欲しいんですが if(line.match(/<p class="ccc">(.+)<div class="ddd">/)){ komento = RegExp.$1.strip(); continue; } だとぜんぜんヒットしません。 <p class="ccc">と文字列komentoは分断されてるみたいでヒットしません。 複数行にわたるときは(.+)を([\s\S]+)にすればよいと書いてあったんですがだめです。 よろしくお願いします。
718 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 21:36:52.13 ID:6l/rGwyM.net] >>702 改行(\n)は (.*) ではキャプチャできない [\s\S]* とか [.\r\n]* とか
719 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 21:39:28.59 ID:6l/rGwyM.net] よく読んでなかった [\s\S]+?でダメだったのか
720 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 21:55:01.60 ID:NPHl4wm3.net] lineという変数名から推測するに、元々この変数に 一行分の文字列しか入ってないとか? もしそうなら dddの方のdivはないのでマッチしないだろうな。
721 名前:688 mailto:sage [2016/05/30(月) 22:52:36.47 ID:IB3IbmGC.net] お答えありがとうございます >>703 だめです >>704 だめでした >>705 まったく初心者でプログラムわからない状態で人がつくったものを改造してるので もっとがんばってみます 上のほうにネストはParser使えとか書いてありましたがこれは違うのでしょうか if(line.match(/<div class="ddd">(.+)/)){ komento = RegExp.$1.strip(); continue; } こうやると 文字列<A href="eee/" >文字列</A>文字列</DIV></DIV> これはものすごいヒットするんですが /<p class="ccc">(.+)/ だとぜんぜんだめで/<p class="c(.+)/ こうやると cc"> とヒットします </p>が省略されてると無理なんでしょうか
722 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 23:10:10.83 ID:IB3IbmGC.net] var lines = request.responseText.split('\n'); for(var i = 0 ; i < lines.length ; i++) { var line = lines[i].strip(); 上のほうにこういうふうに書いてあります もうひとつの文字列取得には if(title == '' && line.match(/<\/h1>/)){ var lineContainsPrev = lines[i - 1].strip() + line; if((lineContainsPrev.match(/<h1 .+<span id="title[^"]+">([^<]+).+<\/h1>/) || lineContainsPrev.match(/<h1 id="title[^>]+>(.+)<\/h1>/))){ title = RegExp.$1.strip(); } } こう書いてあります なるほどi-1とかlineとか691さんの指摘でがんばってみます
723 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 23:14:45.25 ID:7kwM1x1R.net] regexp
724 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 00:35:17.36 ID:Fu4PLM5v.net] .split('\n')で各行を分離して配列に格納してるんだぜ これが解からないのなら改造はまだ早いんじゃないか
725 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 03:14:16.76 ID:Dv/sZKtx.net] >>709 ありがとうございます なるほどそういうことか
726 名前:デフォルトの名無しさん [2016/06/03(金) 16:43:00.18 ID:omAy1yMo.net] 保存した複数のhtmlファイルから特定の段落を削除したくて、秀丸エディタと正規表現にたどり着きました 単調な文字列を置き換え削除する分には何とかなりましたが、下記のような段落を削除したいところで詰りました かなり長くなってるところは〜省略〜で省きました <script src="%E7%8F%BE%E5%〜省略〜_files/widgets.js" id="twitter-wjs"></script> <script type="text/javascript" src="%E7%8F%BE%E5%〜省略〜%83%A9%E3%82%A4B_files/analytics.js"></script> <script type="text/javascript">archive_ana〜省略〜_ms=149;</script> <link type="text/css" rel="stylesheet" href="%E7%8〜省略〜/banner-styles.css"> これを丸ごと削除したいのですが、うまくできないでしょうか ご教授いただけると助かりますOrz
727 名前:デフォルトの名無しさん [2016/06/03(金) 16:52:28.32 ID:oVxvX7jc.net] >>711 そういうのはパーサつかってxpathやcssセレクタで指定するといいよ
728 名前:デフォルトの名無しさん [2016/06/03(金) 17:13:46.63 ID:omAy1yMo.net] >>712 秀丸エディタをDLして、正規表現をググったのが1時間くらい前の自分にはもう手に負えないですね とても経験値が足りない・・・大人しく手作業に戻ります レスありがとうございましたorz
729 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 18:13:59.18 ID:1QnvZmyp.net] オンデマンド
730 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 18:22:31.49 ID:IHHtpHf1.net] 秀丸より「複数行置換」っていうソフトならとっつきやすいかもしれない 正規表現でなくともお望みの作業が捗る可能性があると思う
731 名前:デフォルトの名無しさん [2016/06/03(金) 18:49:20.79 ID:534uxXCy.net] もう少し条件を明確にしてほしい。 単に script,script,script,link の順に現れた時に削除したいなら特に難しくは無い。 perl -0777 -pe 's%(?:(?><script.*?>.*?</script>)\s*){3}<link.*?>%%' ただ、タグの終わり以外で > があったらとかそういうことを考えるとちゃんとパーサを使った方がいい。 そうでなくても、属性値が関係あるなら多分、パーサを使う方が楽。
732 名前:デフォルトの名無しさん [2016/06/03(金) 19:31:31.26 ID:omAy1yMo.net] >>715 早速試してきましたが、範囲を決める表現が出来ずやはりダメでした ソフトが多く出てるのでもっと気軽に出来るかと思ったんですがやはり難しいですねOrz
733 名前:デフォルトの名無しさん [2016/06/03(金) 19:40:07.02 ID:omAy1yMo.net] >>716 複数のhtmlファイルがあり、それぞれの中に i.imgur.com/sVuSXPN.jpg この段落があり、これを楽に削除したいんです これが長く、中の文字列がそれぞれ異なっているんです
734 名前:デフォルトの名無しさん [2016/06/03(金) 19:43:03.37 ID:omAy1yMo.net] パーサってのをググってみたが、素人の毛みたいな自分にはとても手が出せないとだけよくわかりました 自分では楽に出来ないというのがわかっただけでも少しすっきりしました _| ̄|○ 構ってくれてありでした 残り65ファイル・・・がんばるぞ(´Д`)
735 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 20:15:24.35 ID:VlhAlbVL.net] orz
736 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 20:15:55.42 ID:VlhAlbVL.net] orz
737 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 20:18:33.85 ID:VlhAlbVL.net] hy
738 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 20:29:12.24 ID:lvHDuhOW.net] 素人に毛が生えたとは言うけど毛の部分かよw
739 名前:デフォルトの名無しさん [2016/06/03(金) 21:47:07.35 ID:534uxXCy.net] そんなにたくさんあるなら……というか、なぜそんなことになってるのかも気になりますが、 諦めるにはまだ早いように思いますよ。 手作業でできるなら、その部分を見分けているということでしょう? 見分けることができるならそれをプログラムにすればいいんです。 あるいは逆転の発想で、残す部分を特定してそれ以外を削除するという方法もあります。
740 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:15:52.08 ID:3lsMjWzh.net] 正規表現でも、複数行マッチはできる マッチする始まりと終わりを、明確に定義して 始まりは、 <script 終わりは何? そして、最短・最長マッチのどちら?
741 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:48:33.64 ID:Ps50QdLu.net] >>725 多分そんな簡単なものじゃないだろう 複数のhtmlで全部記述が違うらしい <script src=〜 />は広告らしきものwidgets.js等が含まれるものをチェックか? <script type=〜や<link type=〜の方は何だろう analytics.jsやarchive_ana、banner-styles.css等の広告らしこものを含むってことかな? どれくらいhtmlファイルがあるのかにもよるけど、 俺なら、20個程度までならキーワード検索して手動で置換していくことを選ぶな
742 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 13:37:52.64 ID:j94Yoh41.net] スクレイピングでググると幸せになれるかもね。 ブラウザに読み込んで jQuery 辺りでやってもいいけど。
743 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 14:14:35.14 ID:iA3zFnyd.net] うむ
744 名前:デフォルトの名無しさん [2016/06/12(日) 03:31:34.52 ID:73Qykobl.net] d12.IDやd34asd.Q23のようにdhogehoge.hugaをIDやQ23のようにhugaのみにしたいときは どのように書けば引っかかってくれるでしょうか。 d*.のように書きましたがダメでした。
745 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 07:27:48.72 ID:zd4DMI3N.net] * はグロブ・正規表現で、異なる意味 グロブでは、0文字以上の任意の文字列 正規表現では、直前の文字が0個以上。 .* は、0文字以上の任意の文字列
746 名前:デフォルトの名無しさん [2016/06/13(月) 09:02:38.16 ID:IO7ImC7y.net] d.*?\.
747 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 09:13:51.82 ID:trc3/qjd.net] 横d
748 名前:デフォルトの名無しさん [2016/06/13(月) 23:35:01.47 ID:Jxar6H6t.net] >>731 >>730 無事出来ました。ありがとうございます。
749 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 20:43:13.97 ID:JpAU7CI1.net] ぐぐってもちんぷんかんぷんでしたので助けてください!!1!1 複数桁の数字(桁数は2~8桁) ここにあれこれ ここに書き換えたい文字列 という書式の場合で複数桁の数字が10未満(以下でもかまわない)ならx、 11以上20未満(以下でもry)ならy、21以上30未満(ry)ならzという具合に三行目の部分を一行目の数字に応じて書き換えたいです ソフトは複数行置換?というのを使おうと思っています!!へぷるみー!!!
750 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 21:07:54.45 ID:MJXh41jF.net] テンプレ使って書き直せ
751 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 09:03:40.70 ID:UhMCD/nz.net] とりあえず自分の言いたい事を整理する事と日本語の勉強から始めろ
752 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 09:15:50.44 ID:5nGrgvW4.net] 何を言ってるんだか
753 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 09:34:23.84 ID:mJGEUiRz.net] どう考えても正規表現よりスクリプト書いたほうが早い案件
754 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 09:51:44.41 ID:YIat+Pjl.net] すみません!!720ですが自決しました!!! ありがとうございました!!!
755 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 09:59:41.38 ID:zRCZ15a1.net] じけつ [自決] 1.自分の意志で態度・行動などを決めること。 2.責任をとって自殺すること。自裁。
756 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 13:11:46.34 ID:ltaRG/Ox.net] >>739 は2だろうね
757 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 13:27:37.45 ID:nv7wJLuk.net] >>739 生きろ!
758 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 15:20:34.12 ID:gZwGLfL5.net] 正規表現2.0を作って、区切り文字で複数表現可能、否定表現あり、文字コード指定可能に 拡張する動きはないのだろうか
759 名前:デフォルトの名無しさん [2016/06/17(金) 06:39:43.91 ID:/w4sLl17.net] ●Regular Expressionの使用環境 鬼車系のbregonig.dll 3.06対応テキストエディタ ●検索か置換か? 置換 ●説明 前でマッチした文字列と同じ文字列が後ろで出てきたら、 その間の文字を区切り文字カンマに置換したい ●対象データ hogefugahoge イチロー林イチロ ●希望する結果 hoge,hoge イチロ,イチロ 実際の対象データは改行を跨ぐこともあるのですが、 それだとbregonig.dll対応テキストエディタでメジャーなサクラエディタで 動作確認できないので、 サンプルデータは改行を跨がないものにしました。 宜しくお願いします。
760 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 07:13:49.91 ID:8ETU/t+F.net] (´・ω・`)
761 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 07:18:02.69 ID:vEeDcLaa.net] .
762 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 07:51:45.05 ID:Q79nDsuO.net] (.{2,})(.+?)\1 $1,$1 このサンプルデータだけなら動確サクラエディタ
763 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 08:01:19.73 ID:izLNj4Mm.net] 肯定・否定の先読み・後読みで、できないか?
764 名前:デフォルトの名無しさん [2016/06/17(金) 11:52:55.98 ID:MU7aCzOf.net] マ イ ン ド コ ン ト ロ ー ル の手法 ・沢山の人が、偏った意見を一貫して支持する 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法 ・不利な質問をさせなくしたり、不利な質問には答えない、スルーする 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法 偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い 靖 国 参 拝、皇 族、国 旗 国 歌、神 社 神 道を嫌う カ ル ト 10人に一人は カ ル ト か 外 国 人 「ガ ス ラ イ テ ィ ン グ」 で 検 索 を !
765 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 19:34:05.50 ID:yged7CRH.net] 皆さんは肯定、否定、先読み、後読みの記号をどういう風に覚えているの? 何度覚えても忘れるんです。
766 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 19:45:29.03 ID:BW6jIpWJ.net] 使ってりゃ覚えるだろ
767 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 20:14:27.15 ID:2jKkT25y.net] そらそうだ
768 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 21:42:53.66 ID:pDomqkOe.net] あるAndroidアプリで、任意の2つの文字列が、下記のようにセットされているのですが、この真ん中のダブルコロンをイコールで挟む意味が解りませんでした そもそも正規表現でしょうか? 文字列あいう=:=文字列かきく
769 名前:デフォルトの名無しさん [2016/06/18(土) 00:00:12.34 ID:TDIsYK64.net] ねづっちがなんだって?
770 名前:デフォルトの名無しさん [2016/06/18(土) 01:59:37.22 ID:q51kEhx9.net] <=> これは、宇宙船
771 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 15:01:36.56 ID:AGMP56Qn.net] >>750 加法定理とか倍角の公式とか 和積公式積和公式全部言えるか?
772 名前:デフォルトの名無しさん [2016/06/20(月) 23:56:45.49 ID:2ch+sFRM.net] mateで絵文字を正規表現で全部ひっかけたいんだけどシステム屋さん当該の正規表現おせーて
773 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 18:19:47.68 ID:9ARC/f7H.net] [+-0-9.] と書いた場合 + - 0〜9 小数点 . のどれか一文字と言う意味になりますか? マイナス記号が0-9なら範囲を表すのに +-0 の部分では範囲と間違った解釈される心配は無いのですか?
774 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 18:21:44.72 ID:E1t+8hag.net] めっちゃあるよ
775 名前:デフォルトの名無しさん [2016/06/23(木) 18:22:27.67 ID:O6DvkpvP.net] 気になるならこれで [+\-0-9.]
776 名前:デフォルトの名無しさん [2016/06/23(木) 18:23:14.87 ID:O6DvkpvP.net] >小数点 . >のどれか一文字と言う意味になりますか? ここは小数点のみを期待するなら \. と書く必要があるんじゃね
777 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 18:40:42.16 ID:Aga9lXuQ.net] []の中じゃ、 '.' や'*'はメタ文字じゃなくて文字の'.','*'を意味する 他にも '^'は先頭に記述したときのみ否定というメタ文字になるが途中だと'^'という文字を表す '-'は先頭に書いたときには\でエスケープしなくてもいいが推奨は必ず\でエスケープすること
778 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 18:49:12.90 ID:QqtwN9tu.net] 小数点なら \,\d とかにしないと
779 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 18:59:53.50 ID:kXV5qe3k.net] []内では.や+はメタ文字ではなくただそのままの文字 -は文字の間にある場合だけ文字コードの範囲を表す だから[-+0-9.]や[+0-9.-]なら望み通り
780 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 22:21:43.36 ID:Q9+hvKHV.net] 確かに、固定されて絶対変わらない保証があるなら仕様に従い-をそのまま書ける状況もあるけど 可読性なんかを考えたらエスケープしてやるのが確実だと思うわ
781 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 22:48:52.41 ID:kXV5qe3k.net] そうだね 特に会社とか複数の人がメンテナンスに携わる環境ではむしろ積極的に\を付ける事になってたりする
782 名前:デフォルトの名無しさん mailto:sage [2016/06/24(金) 11:12:00.03 ID:QDx4C0nH.net] 付けなくていい場所に付けるのは可読性を損なうしメンテナンス性も悪化する
783 名前:デフォルトの名無しさん mailto:sage [2016/06/24(金) 11:39:01.26 ID:+GusP/54.net] 人それぞれなもんだね
784 名前:デフォルトの名無しさん mailto:sage [2016/06/24(金) 16:15:54.83 ID:35cWfWGi.net] 他のは\付けないけど-だけは付けるようにしてる
785 名前:デフォルトの名無しさん mailto:sage [2016/06/24(金) 22:35:52.86 ID:tRHi5MPl.net] [\]ではなくて[\\]が正しいですか?
786 名前:デフォルトの名無しさん mailto:sage [2016/06/24(金) 23:02:08.35 ID:+GusP/54.net] [\]だと\は\]で消費されて閉じの]が無くなる
787 名前:デフォルトの名無しさん mailto:sage [2016/06/25(土) 01:01:10.18 ID:FsDaEVc+.net] \はエスケープのメタ文字なので、文字の\を表すには\を\でエスケープする必要がある つまり\\
788 名前:デフォルトの名無しさん mailto:sage [2016/06/25(土) 20:32:26.47 ID:6chkZTSI.net] >>753 コロンでした済みません :=(コロンイコール)で代入演算子までは分かったんですが 動作的には、正規表現|のようでした 条件A=:=条件B
789 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 04:27:16.34 ID:0bHamb0Z.net] >>773 https://doc.perl6.org/routine/%3D%3A%3D#language_documentation_Operators これじゃないの? とりあえず、スレ違いだから他所で聞き直したほうがいい
790 名前:デフォルトの名無しさん [2016/06/26(日) 12:19:10.23 ID:0pF/e0UG.net] 今度は「Regrexit」、EU離脱を「後悔」 www.cnn.co.jp/tech/35084882.html 2016.06.26 Sun posted at 10:36 JST ロンドン(CNN) 欧州連合(EU)からの離脱を問う国民投票で離脱派が勝利した英国で、 離脱に票を投じた有権者から、結果を受けて思い直したとの声も上がっている。 Britain(英国)とExit(退出)を組み合わせた造語「Brexit」に続いて、 ツイッターにはRegret(後悔)とExitを合わせた「Regrexit」というハッシュタグが登場した。 中部マンチェスターの有権者、アダムさんは英BBCとのインタビューで「私の票にあまり意味はないと思っていた。 どうせ残留だろうと予想していたから」「キャメロン首相の辞任表明には、正直言って仰天した」と不安をあらわにした。 離脱に票を入れたマンディさんという女性も24日、夕刊紙ロンドン・イブニング・スタンダードに 「今朝になって現実を知り、後悔し始めている。もう一度投票するチャンスがあれば意見を変えるのに」と語った。 イングランド南西部のコーンウォール州は国民投票で離脱を支持したが、 これまでEUから受け取っていた補助金が途絶えては困るとの懸念が浮上し、英政府に「保護」を求めている。 同州には10年以上前から、EUから年平均6000万ポンド(約84億円)が交付されていた。 州議会は政府に、これと同等の額の保証を求める構えだ。 再投票を求めるインターネット上の請願には25日午後の時点で200万人を超える署名が集まり、 議会での審議に必要とされる10万人の署名を上回った。 28日に下院の特別委員会が取り上げる見通しだという。
791 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 23:30:24.64 ID:I/qBn3J5.net] >>774 コンテナ演算子?初めて聞きました 他で伺ってみたいと思います ありがとうございました
792 名前:デフォルトの名無しさん mailto:sage [2016/06/27(月) 00:14:08.67 ID:ywseg4PN.net] cv
793 名前:デフォルトの名無しさん [2016/06/29(水) 15:19:08.79 ID:jeflfaNJ.net] bash 4.2.46 grep 2.20 です。 以下のように文字列中の大かっこにパターンマッチしたいんですが、 なぜマッチしないのかわかりません。 $string="[string" echo $string | grep [\[\]] <-マッチしない echo $string | grep [\]\[] <-[と]を逆にするとマッチする
794 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 16:19:59.57 ID:Hg0Bm2HH.net] シェルでも、*, \ などは、メタ文字だから、 grep では、" " で囲まないと、grepよりも先に、シェルが解釈してしまうのかな? grep "[\[\]]" bash -ivx オプションを付けて、 grep [\[\]] が、どう展開されるのか見てみ
795 名前:デフォルトの名無しさん [2016/06/29(水) 16:46:07.08 ID:jeflfaNJ.net] ダブルクオートでくくると、マッチしていた[\]\[]もマッチしなくなりました。 ivhをつけてみると、grep [[]]と grep [][] と表示されました。 正規表現の[] のなかで、「[」や「]」自身にマッチさせるのはなんか特殊 な方法がいるんでしょうか?
796 名前:デフォルトの名無しさん [2016/06/29(水) 16:50:20.39 ID:jeflfaNJ.net] あ、マニュアルを見たら以下のように書いてありました。 リテラル ] を含めるには、この文字をリストの先頭に 置いてください だから[[]]はだめで、[][]はOKなんですね。
797 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 17:08:24.12 ID:Hg0Bm2HH.net] var re1 = /[\[\]]/; var re2 = /[\]\[]/; var str = "[str"; console.log(str.match(re1)); console.log(str.match(re2)); JavaScriptだと、どちらも、1文字目の、[ で一致する 名前欄に、764と入れて投稿して
798 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 17:13:00.14 ID:y/YEecXu.net] お津
799 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 17:13:59.01 ID:y/YEecXu.net] thx
800 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 17:23:12.29 ID:GdB71I0S.net] bash使えんから想像なんだけど、 シェルで\がエスケープだとして、正規表現に\を渡すにはさらに\を\でエスケープすればどうかな? [\\[\\]]
801 名前:764 [2016/06/29(水) 17:29:05.52 ID:jeflfaNJ.net] ちなみに、grep のマニュアルには続きがあって以下だそうです。 初めて知りました。bashの正規表現でも同じ使い方じゃなくちゃダメでした。 ---------------------------- リテラル ] を含めるには、この文字をリストの先頭に 置いてください。同様に、リテラル ^ を含めるには、この文字をリスト の先頭以外に置いてください。リテラル - を含めるには、この文字をリ ストの最後に置いてください。
802 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 17:39:05.32 ID:Hg0Bm2HH.net] シェルスクリプトは落とし穴が多いから、難しいんだよ Bashでは、! もエスケープ必要だし、 -(ハイフン)が文字列の最初に来ると、 オプションに解釈されるから、エスケープすらできないし プログラミング言語の方が、文字列でエスケープする文字が少ないから、簡単
803 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 17:42:13.89 ID:Hg0Bm2HH.net] [ ] 内では、[, ], ^, - の4つは、特殊な意味を持つから、要注意!
804 名前:デフォルトの名無しさん [2016/06/29(水) 17:48:33.01 ID:jeflfaNJ.net] \でエスケープすればOKと思ってたのが、そういうもんでもないんですね。 理由は分かりませんが。。 ご協力ありがとうございました。
805 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 18:07:51.08 ID:63bvN4qa.net] シェルが絡むと厄介なんだね 勉強になった
806 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 18:13:44.58 ID:lTepsFDI.net] um
807 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 19:12:33.05 ID:xPFVh+mM.net] KO
808 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 19:24:59.88 ID:y0UpPgVv.net] grep等では文字クラス内でのバックスラッシュは「エスケープ」の意味を持たない > しかし、egrepのほとんどのバージョンでは、文字クラス内のバックスラッシュは特別な意味を > 持たず、そのため、文字クラス内では “エスケープサービス” を提供しない。 詳説正規表現 https://books.google.co.jp/books?id=RJFJ2I-thlsC&lpg=PA31&q=%22%E6%96%87%E5%AD%97%E3%82%AF%E3%83%A9%E3%82%B9%E5%86%85%E3%81%AE%E3%83%90%E3%83%83%E3%82%AF%E3%82%B9%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5%22 > キャラクタクラスの中では多くのメタキャラクタがその意味を失います。特に、伝統的な > egrepでは、[]の中では\によるエスケープも効きません(\自体もその特殊な意味を失ってしま > う)。そういった場合に]や^、-といった[]内で特殊な意味を持つキャラクタをクラスに含めた > いときには []^-]のように記述します。つまり、^は[の直後以外に、]は[の直後(補集合を指 > 定しているときには^の直後)に置き、-はリストの最後に置くというやり方を使います。 正規表現メモ www.kt.rim.or.jp/~kbk/regex/regex.html#CCLASS
809 名前:デフォルトの名無しさん [2016/07/08(金) 18:50:11.04 ID:ToKmZmSe.net] よろしくお願いします。 ●Regular Expressionの使用環境 Excel 2013 VBA(VBScript.RegExp) ●検索か置換か? 置換 ●説明 数字端のスペースを含まずに後方参照したい ●対象データ 1 2 3 4 5 ABC 1 2 3 4 5ABC ●希望する結果 1 2 3 4 5 ^^^^^^^^^ 1 2 3 4 5 ^^^^^^^^^
810 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 19:17:00.63 ID:dMXcsc44.net] z
811 名前:デフォルトの名無しさん [2016/07/08(金) 19:20:55.77 ID:EpqqXInU.net] >>794 すみません。 ●対象データ 1 2 3 4 5 ABC 1 2 3 4 5ABC 12345 ABC 12345ABC ●希望する結果 1 2 3 4 5 ^^^^^^^^^ 1 2 3 4 5 ^^^^^^^^^ 12345 ^^^^^ 12345 ^^^^^ でお願いします。
812 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 20:17:02.45 ID:WS5P2nLb.net] おお
813 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 00:09:33.22 ID:603N+6Q0.net] >>796 .Replace(" ?ABC$", "")
814 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 13:30:44.81 ID:XZ2f4NeC.net] >>796 ([0-9]( ?[0-9])*)
815 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 14:15:53.95 ID:eZEsospS.net] 横d
816 名前:デフォルトの名無しさん [2016/07/11(月) 17:21:37.38 ID:NUOClU+i.net] >>798-799 ありがとうございました 先読みで(.*)(?=\s*)だとマッチせず困ってました
817 名前:デフォルトの名無しさん [2016/08/09(火) 17:00:14.44 ID:xm47cYIn.net] XX-12,53,88-35,27,95-57,11,71-... みたいな文字列があって-数字,数字,数字-の部分は複数回続くんだけど XXの部分と数字の部分をキャプチャする正規表現って一つで書ける? 環境は何でもいい
818 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 18:35:54.95 ID:n5pitoha.net] (..\-\d\d,\d\d,*)*
819 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 13:56:01.53 ID:QZxl2haI.net] これは嫌なのか? (XX)|(\d+)
820 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 13:12:53.43 ID:XDK3PVFI.net] ●Regular Expressionの使用環境 Mery 2.5.2 ●検索か置換か? 置換 ●説明 カッコ内にカッコのある1個目のカッコのみを削除したい ●対象データ (あああ(いいい)ううう)えええ(おおお) ●希望する結果 えええ(おおお)
821 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 13:59:38.30 ID:MLERxFDs.net] 例文ならこれでいけるが汎用性はどうかな? \(.*?\(.*?\).*?\)
822 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 14:11:34.85 ID:XDK3PVFI.net] >>806 上手くいきました。どうもありがとうございました。 ただ (あああ(いいい)ううう)えええ(おおお(かかか)ききき) となっていると全文がマッチしてしまいました
823 名前:sage [2016/08/23(火) 15:21:16.40 ID:R3EL7dRR.net] ¥([^()]*¥([^()]*¥)[^()]*¥)
824 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 16:13:26.40 ID:XDK3PVFI.net] >>808 ありがとうございます。 すべてのカッコ内カッコが検索されますが、 (あああ(いいい)ううう)えええ(おおお(かかか)ききき) の場合でも、1個目のカッコ内カッコのあるカッコだけを検索して えええ(おおお(かかか)ききき) とできれば良いのですが
825 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 17:00:06.50 ID:GmZX4o5v.net] >>809 ^[^(]*\([^()]*\([^()]*\)[^()]*\)
826 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 21:09:09.20 ID:XDK3PVFI.net] >>810 ありがとうございます。 度々申し訳ありませんが あああ(あああ(いいい)ううう)えええ(おおお(かかか)ききき)くくく このようなケースでも1個目のカッコ内カッコのあるカッコだけを検索して あああえええ(おおお(かかか)ききき)くくく とできればおそらくこれで完璧だと思われます。
827 名前:デフォルトの名無しさん mailto:sage [2016/08/24(水) 00:00:08.98 ID:LDyc20HB.net] (?<x>\(([^()]++|\g<x>)*\))(.*) $3
828 名前:デフォルトの名無しさん mailto:sage [2016/08/24(水) 07:10:08.38 ID:6D91+vLT.net] >>812 どうもありがとうございました。完璧です。 御回答いただいた皆様に感謝致します。
829 名前:デフォルトの名無しさん mailto:sage [2016/08/24(水) 13:10:57.10 ID:Rn6iYoWl.net] >812 これすごいな。入れ子になっているのか こういうの書ける人尊敬するわ
830 名前:デフォルトの名無しさん mailto:sage [2016/08/24(水) 13:13:45.30 ID:HM4zCXGG.net] d
831 名前:デフォルトの名無しさん mailto:sage [2016/08/24(水) 18:09:17.02 ID:mGpqCU5h.net] >>812 なんか分からんが凄いな
832 名前:デフォルトの名無しさん mailto:sage [2016/08/24(水) 18:17:40.95 ID:JVXWM8hM.net] ほんとに
833 名前:デフォルトの名無しさん mailto:sage [2016/08/25(木) 01:44:01.50 ID:47oHd6Or.net] >>812 わかろうとする気にならないほどだな
834 名前:800 mailto:sage [2016/08/25(木) 08:09:27.32 ID:RUhmm4s5.net] >>812 あ、でもこれって、 あああ(いいい)ううう(えええ(おおお)かかか)ききき(くくく)けけけ のように、最初に出てくる括弧が「カッコ内カッコのあるカッコ」 ではない場合に あああううう(えええ(おおお)かかか)ききき(くくく)けけけ となってしまう気が… この場合は あああ(いいい)うううききき(くくく)けけけ となってほしいというのが>>805 さんの要望だと僕には読めたの ですが、違うのかな いずれにしてもすごい正規表現だね。すごい
835 名前:800 mailto:sage [2016/08/25(木) 09:27:55.87 ID:RUhmm4s5.net] >>808 さんのは、単に検索すると「すべてのカッコ内カッコが検索」されるけれど、 \([^()]*\([^()]*\)[^()]*\)(.*)$ と書き換えて、置換後を$1にするってのはどう? これなら、最初に出てくる括弧の中に括弧がない場合でも 上手くいくと思いますが、勘違いしていたらごめんなさい
836 名前:800 mailto:sage [2016/08/25(木) 09:59:14.17 ID:RUhmm4s5.net] 連投すみません。楽しくなっちゃって >>812 さんのは、括弧が3重以上でも上手くいくというのがすごいところ ですね。 なので、最初に出てくるカッコが「カッコ内カッコのあるカッコ」 ではない場合(=1重カッコ)にヒットしないように書き換えて、 \([^()]+(?<x>\(([^()]++|\g<x>)*\))[^()]+\)(.*) $3 これでどうだ!
837 名前:デフォルトの名無しさん mailto:sage [2016/08/25(木) 12:01:47.6
] [ここ壊れてます]
838 名前:1 ID:v6sPu6lS.net mailto: そもそも <x> と言うのは何ですか? [] [ここ壊れてます]
839 名前:デフォルトの名無しさん mailto:sage [2016/08/25(木) 12:17:56.51 ID:mC+7hpz+.net] 名前
840 名前:sage [2016/08/25(木) 13:10:27.44 ID:AMWIH4jj.net] “田中哲スペシャル”でぐぐれ
841 名前:デフォルトの名無しさん mailto:sage [2016/08/25(木) 13:14:05.03 ID:LnEFg7Mi.net] なんだ
842 名前:デフォルトの名無しさん mailto:sage [2016/08/25(木) 13:47:22.01 ID:RUhmm4s5.net] (AA(BB(CC))DD) のような多重カッコを「x」という名前で定義しておいて、 「(」と「)」の間に入っているものは ・「(」と「)」以外の文字の並び もしくは ・x(=多重カッコ) と再帰的に表現しているってことですよね
843 名前:デフォルトの名無しさん mailto:sage [2016/08/25(木) 14:28:32.37 ID:56YmsHfW.net] >>824 名前から釣りだと思いつつggったらめっちゃ為になった
844 名前:デフォルトの名無しさん [2016/09/09(金) 15:51:38.37 ID:wCNlt+Gc.net] ●Regular Expressionの使用環境 Javascript,PHP,Perl,Python ●検索か置換か? 検索 ●聞きたいこと この正規表現は何にマッチするのか ●正規表現 ([^*]*)
845 名前:デフォルトの名無しさん mailto:sage [2016/09/09(金) 16:06:05.58 ID:Ttxk6y+B.net] >>828 「アスタリスク以外が0個以上連続」じゃないの
846 名前:デフォルトの名無しさん mailto:sage [2016/09/09(金) 16:14:03.28 ID:Wsi0UfEI.net] そうなのか
847 名前:デフォルトの名無しさん [2016/09/09(金) 16:15:36.16 ID:Wsi0UfEI.net] なるほど
848 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 14:39:32.69 ID:EFchVXk6.net] 学校の宿題は自分でやれよw
849 名前:デフォルトの名無しさん [2016/09/25(日) 08:47:14.21 ID:UOma
] [ここ壊れてます]
850 名前:1c6b.net mailto: よろしくお願いします。 ●Regular Expressionの使用環境 vs2015 VB.net ●検索か置換か? 検索 ●説明 nameを取り出したい nameブロックはregと;に必ず囲まれている。 Dim ptn = New Regex("reg\s+(.*);") これでネームブロックは取り出せる。2回に分ければnameを取り出すことは可能だが1回の正規表現で 取り出すことは可能だろうか? いろいろやってみたがうまくいかない。 ●対象データ reg [7:0] name1, name2, [16:0] name3; ●希望する結果 name1 name2 name3 [] [ここ壊れてます]
851 名前:デフォルトの名無しさん [2016/09/25(日) 08:52:20.11 ID:UOma1c6b.net] 対象データ追加です ●対象データ reg [7:0] name1; reg [7:0] name1, name2; reg [7:0] name1, name2, [16:0] name3; ●希望する結果 name1 name1 name2 name1 name2 name3
852 名前:デフォルトの名無しさん mailto:sage [2016/09/25(日) 09:18:17.73 ID:DeKyBBx0.net] んm
853 名前:デフォルトの名無しさん mailto:sage [2016/09/25(日) 09:31:36.02 ID:hrPU7kVw.net] 複数列の1行を、1列の複数行に変換してから、処理すれば簡単 reg [7:0] name1, name2, [16:0] name3; reg [7:0] name1, name2, [16:0] name3;
854 名前:デフォルトの名無しさん [2016/09/25(日) 10:37:30.22 ID:UOma1c6b.net] 正規表現でどうぞ
855 名前:デフォルトの名無しさん mailto:sage [2016/09/25(日) 11:14:40.83 ID:dhuBOAuX.net] ほい
856 名前:デフォルトの名無しさん mailto:sage [2016/09/25(日) 11:16:44.34 ID:dhuBOAuX.net] さ
857 名前:デフォルトの名無しさん [2016/09/25(日) 11:32:22.86 ID:UOma1c6b.net] ほい。わかった。 できんのか思ってたが、なんか1回の記述でできそうやな。まあお前らには無理や と思うが、俺がもうちょっと考えたらできるわ。
858 名前:デフォルトの名無しさん mailto:sage [2016/09/28(水) 21:48:53.42 ID:cGXPnVhl.net] Dim ptn = New Regex( " (?<=^reg\s+.*) " & vbCrLf & " ( " & vbCrLf & " \w+ " & vbCrLf & " (?= " & vbCrLf & " ,\s+ " & vbCrLf & " | ; " & vbCrLf & " ) " & vbCrLf & " ) " & vbCrLf & " (?=.*;$) " & vbCrLf, RegexOptions.IgnorePatternWhitespace) Dim inputs As String() = { "reg [7:0] name1;", "reg [7:0] name1, name2;", "reg [7:0] name1, name2, [16:0] name3;" } For Each input As String In inputs Console.WriteLine("input=" & input) Dim match = ptn.Match(input) While match.Success Console.WriteLine("match=" & match.Captures(0).Value) match = match.NextMatch End While Next
859 名前:デフォルトの名無しさん mailto:sage [2016/09/29(木) 01:57:46.08 ID:Gm/yyr2U.net] サイトがちこっと模様替えしたね https://regex101.com/
860 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 12:15:35.80 ID:AdTl/Wc+.net] JavaScriptでreplaceをする為に /(パターン1)(パターン2)|(パターン3)(パターン4)/ こういうパターンを書いた場合、OR記号 | で連結しているので、キャプチャ結果が $1, $2 になると期待したのですが、そうならないのですか? 実際にやってみると $1, $2 と $3, $4 に入るようなのです。
861 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 12:44:39.82 ID:TjQcy2Bo.net] それをやりたいならこうじゃ /(パターン1|パターン2)(パターン3|パターン4)/
862 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 13:10:27.91 ID:AdTl/Wc+.net] >>844 なるほど。 /(パターン1|パターン3)(パターン2|パターン4)/ ですね。 でもそれだと 期待している条件は (パターン1)(パターン2)か (パターン3)(パターン4)なのに、 それ以外の組み合わせ (パターン1)(パターン4) (パターン3)(パターン2) の場合にもマッチしてしまうと思うのですが。
863 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 20:53:49.07 ID:aAqIiVw5.net] 括弧の数だけ後方参照は返るのだから>>843 は当然の結果だと思うが 具体的に返って欲しい結果は何? 全てのパターンを書き出してみ、>>843 の意図と見る側の解釈が一致しないと話が始まらない
864 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 21:50:09.68 ID:OR93Coso.net] 多分 /((?:パターン1)(?:パターン2))|((?:パターン3)(?:パターン4))/ ってことかな?
865 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 22:17:35.20 ID:twuqKzoy.net] u
866 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 21:15:18.57 ID:P0MVHdnM.net] 正規表現って言葉がかたすぎる もっとみんなが興味をもつ言い方に変えないの?
867 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 21:49:53.51 ID:Ry/2H8uD.net] 興味津々だよ
868 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 12:42:59.30 ID:kCrlwcjM.net] >>849 固いというより意味が通じ難いと思う
869 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 13:02:28.50 ID:AIOqBHAK.net] >>849 理系にネーミングセンスを求めてはならない その他と区別できるという条件さえ満たす名であればなんでもいい人種だから 名称自体を正規表現で表さなかったことに感謝している
870 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 13:40:38.43 ID:kCrlwcjM.net] 正規表現って訳さいしょに使ったの石田晴久だっけ
871 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 14:16:05.47 ID:AabNbAoI.net] これ以上ないくらい直訳なんだが
872 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 20:30:42.04 ID:2CwQi8oD.net] せいきがかたくてきょうみしんしん なるほど
873 名前:デフォルトの名無しさん [2016/12/21(水) 21:16:28.47 ID:8i27l//u.net] d
874 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 21:17:12.71 ID:e5558qWf.net] なんちゃって照合 自在照合
875 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 21:39:55.58 ID:cAK1T9+M.net] 置換とか挿入とかが付いてまわるから、 この組み合わせどーにかできなかったのかよ とはよく思うが他の言い回しも思いつかない 会話してるだけでいつかセクハラでほんとに訴えられる
876 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 21:50:37.70 ID:nmy+aY6o.net] 数学用語でregularと言ったら、正則と訳することが多いけどね
877 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 22:14:58.43 ID:l+YTvMLn.net] うん
878 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 22:46:11.63 ID:AxC8I5w6.net] 正規表現、字で見るとなんともおもわないが 音で聞くと、・・・・ 正規表現のこと知らない女性に訴えられるね
879 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 20:44:35.19 ID:TsoHImGD.net] 正規雇用の正規だよと言えば理解した気になってもらえる。
880 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 20:52:11.82 ID:mxTJlKmu.net] 非正規の彼女だったら、そんなこと口が裂けたって言えないな
881 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 16:39:44.11 ID:0uYWbX0H.net] >>853 呼び捨てすんなよ 先生と呼べよ
882 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 16:42:23.96 ID:8EM69YXY.net] 石田のK&R翻訳書は糞で有名
883 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 11:45:12.71 ID:QywZQROL.net] ユーザー登録制のサイトで、勝手な名前を登録出来ると例えば Admin、管理者、マネージャ、、、 など、いかにも一般ユーザーではないような名前を付ける人も出てきます。 そういう名前を登録出来ないようにしたいのですが、自分で正規表現でそういうのを排除しようと 思ったのですが、そういう目的に使えるような便利なライブラリなどありませんか? 要するに排除する単語の選定だけの問題なのですが、既に誰か作っていないかなあと思って。 アダルト系、人種差別系の名前も排除したいので、考えれば結構範囲が広いんです。
884 名前:デフォルトの名無しさん mailto:sage [2016/12/27(火) 14:02:43.13 ID:9ynixZS2.net] >>866 どんなものにも得手不得手ってものがあるわけで なぜその処理をするのに正規表現が選択肢になるのか意味不明
885 名前:デフォルトの名無しさん mailto:sage [2016/12/27(火) 14:35:26.36 ID:xrzl8aBc.net] まあブラックリスト、ホワイトリストには大体正規表現が書けるようにはなってる そういうリストを自分で作るんじゃなくて欲しいんなら探すしかない
886 名前:デフォルトの名無しさん mailto:sage [2016/12/27(火) 16:02:11.15 ID:hI/o5Uh3.net] >>867 パターンマッチングの典型例だろ。 意味不明と言う意味が不明
887 名前:デフォルトの名無しさん mailto:sage [2016/12/27(火) 16:14:01.50 ID:Vdczj+/E.net] u
888 名前:デフォルトの名無しさん mailto:sage [2016/12/27(火) 18:47:29.33 ID:4mpySA7a.net] 出来の良い辞書があれば済みそうな話に見えるけど、そうでもないのか
889 名前:デフォルトの名無しさん mailto:sage [2016/12/27(火) 19:28:33.83 ID:OB8e5g5W.net] 日本語を許可してる時点で無駄じゃね チンコを意味する言葉だけで辞書1ページ埋まるくらいあるし 全部NGに出来たとしても記号混ぜられたらそれまでだろ 報告されたら対処するくらいでいいと思うが
890 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 06:19:32.79 ID:+BGeVry5.net] のどちんこ
891 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 12:52:22.48 ID:kFL7wfb2.net] ぱちんかす
892 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 13:09:32.83 ID:wvS2FZtE.net] 既存のブラックリストがあれば欲しいという話ならまだ分からなくもないけど ブラックリストでパターンマッチングさせて弾く処理なんてどんな言語だろうが初歩中の初歩の処理だろ なぜ正規表現のスレで>>866 を質問しようと思ったのだろう
893 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 19:56:57.61 ID:2Pbjmvkx.net] ●Regular Expressionの使用環境 PHP ●検索か置換か? 検索 ●説明 preg_splitを使ってカンマ"," での文字列分割 その際カンマの前後の半角スペースを無視したい ●対象データ 値1, 値2, 値3,値4 , 値5 ●希望する結果 値1 値2 値3 値4 値5 よろしくお願いします
894 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 20:52:56.95 ID:WcpJxD6e.net] エスケープだの引用符だの言い出さないなら、 / *, */ ←顔文字みたい
895 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 21:10:19.67 ID:2Pbjmvkx.net] >>877 ありがとうございます
896 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 21:15:01.34 ID:jGOjX1NN.net] ^ω^)
897 名前:デフォルトの名無しさん [2016/12/30(金) 21:48:44.19 ID:/ZkHAa1O.net] bregonig.dll Ver.4.00 k-takata.o.oo7.jp/mysoft/bregonig.html
898 名前:デフォルトの名無しさん [2016/12/31(土) 05:55:37.66 ID:CmyPhKPF.net] 文字化けを発見しやすくするためにもPOSIX正規表現にasciiクラスを正式採用してもらいたい
899 名前:デフォルトの名無しさん [2017/01/06(金) 20:46:01.53 ID:v+2zhO4e.net] よろしくお願いします。 ●Regular Expressionの使用環境 mi(ミミカキエディット www.mimikaki.net/) ●検索か置換か? 置換 ●説明 英単語のリストがあるのですが、各単語の最初の文字は残して、 残りを全て全角スペースに置換したい。 ●対象データ ABCA BCAA CABA ●希望する結果 A□□□ B□□□ C□□□
900 名前:デフォルトの名無しさん mailto:sage [2017/01/06(金) 23:01:40.92 ID:rJ39SB5o.net] >>882 (?<=.). そのエディタ知らないけど肯定後読みでできないかな
901 名前:デフォルトの名無しさん mailto:sage [2017/01/07(土) 00:03:11.91 ID:FuDWh40R.net] support.mimikaki.net/mi/help/regexp.htm ヘルプ見たら後読みはなさそうだ ・単に行頭だけ残す (?!^).→全角空白 ・連続したアルファベットの先頭だけ残す (?!\b[A-Za-z])[A-Za-z]→全角空白
902 名前:デフォルトの名無しさん mailto:sage [2017/01/07(土) 01:32:30.47 ID:Rh9gPNyY.net] \B.→全角空白
903 名前:デフォルトの名無しさん [2017/01/07(土) 02:13:58.12 ID:IrIkzzkt.net] 1.矩形選択で全行の1文字目切り取りって待避 2.[A-Z]を全角空白に置換 3. 1.で切り取ったものを矩形ペースト でいけたけど全角空白の表示がわからんのねこれ
904 名前:デフォルトの名無しさん mailto:sage [2017/01/07(土) 07:55:08.29 ID:9O+kjQ8i.net] そもそも正規表現で、n個のAに置換するとか、あらかじめ数が分からないのに、出来るのか? AA, AAA に置換するのは出来るけど 普通に、ファイルを読んで、1文字ずつ変換した方が良さそう
905 名前:デフォルトの名無しさん mailto:sage [2017/01/07(土) 08:48:09.01 ID:2RoNSSAN.net] >>887 >>883-885 のパターン(一文字にマッチ)で s///g の g に該当する指定(全て置換、等)
906 名前:をすればいいのでは? つか \B いいな、vimにもホスィ、\<\@! とか書けるけど [] [ここ壊れてます]
907 名前:デフォルトの名無しさん mailto:sage [2017/01/07(土) 15:30:40.04 ID:B2JCMQMI.net] >>887 n個をn個に置換するという表現は出来ないからそうでない表現を考える(勿論プログラミングではコールバックでどうとでもなるけども) 今回は先頭の1文字に続くn文字をn文字で置換する, から非単語境界に続く全ての1文字を1文字で置換する, に置き換えて考えればよい
908 名前:デフォルトの名無しさん mailto:sage [2017/01/10(火) 02:26:03.25 ID:lqVFUn0Z.net] javascriptのソースで遭遇したんですが、 [ -~] ってどういう正規表現なんですか?英文字とマッチしてるようなんですが・・・
909 名前:デフォルトの名無しさん mailto:sage [2017/01/10(火) 02:38:26.37 ID:fP39RQYT.net] >>890 ASCIIコードで書けば [\x20-\x7e] で印字可能文字の全体 \x00-\x1f, \x7fは全て制御文字
910 名前:デフォルトの名無しさん mailto:sage [2017/01/10(火) 03:07:46.12 ID:lqVFUn0Z.net] >>891 なるほど!そういう意味だったんですね…何かの特殊文字化と思って???状態でした。 ありがとうございます
911 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 19:51:15.52 ID:GvJtwLGJ.net] >>883-889 ありがとうございます。 ¥B.→全角空白でいけました!
912 名前:デフォルトの名無しさん mailto:sage [2017/01/17(火) 01:06:22.60 ID:TKHULUbB.net] gawkは、/[a-z]/で英大文字もマッチする 小文字だけのチェックなどしないから長い間気がつかなかった ぐぐったら有名なバグだった
913 名前:デフォルトの名無しさん mailto:sage [2017/01/17(火) 14:11:55.18 ID:QWXHES32.net] >>894 マジ? 普通に $ echo "HELLO¥nhello" | gawk '/[a-z]/' hello になったんだが、バージョン違い?(4.1.1です)
914 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 00:05:35.56 ID:b8uVoaAX.net] >>895 ごめん、バージョン3. です 4. は直っているらしいです、まだ使っていませんが
915 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 12:45:38.22 ID:Igfwm5uK.net] ●Regular Expressionの使用環境 Java ●検索か置換か? 検索 ●説明 最短の指定文字列の間の文字を複数条件で検索したい a(.*?)b c(.*?)d e(.*?)f これを1つにしたいんだが、 a(.*?)b|c(.*?)d|e(.*?)f 一致せず (a|c|e)(.*?)(b|d|f) 一致せず ●対象データ aあいうえおb cかきくけこd eさしすせそf ●希望する結果 あいうえお かきくけこ さしすせそ おねがいします
916 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 13:02:42.00 ID:Igfwm5uK.net] 補足 (a|c|e)(.*?)(b|d|f) 一致せず これをやったのは最初にaにマッチした時は必ず次に最初にマッチするのはbだからです。cにマッチしたら次にマッチするのはd、eにマッチしたら次にマッチするのはf 対ではない他の文字列が先に出てくることはありません
917 名前:デフォルトの名無しさん [2017/01/18(水) 13:08:13.45 ID:2zcCu4Ky.net] [ace](.*?)[bdf]
918 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 13:15:05.93 ID:Igfwm5uK.net] >>899 ありがとうございます 説明不足すいませんabcdefのやつは実際は1文字じゃないんです
919 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 13:17:28.66 ID:lqRpqFwx.net] >>898 たとえば、aあいうえおc にはマッチしてほしくないってこと?
920 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 13:20:33.86 ID:aCeYQIzy.net] (?<=a).*?(?=b)|(?<=c).*?(?=d)|(?<=e).*?(?=f)
921 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 13:20:35.48 ID:lqRpqFwx.net] 違った。ええとつまり、aで始まればbで終わり、cで始まればdで終わる、ってこと?
922 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 13:26:42.18 ID:Igfwm5uK.net] >>903 そうです!
923 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 13:30:40.10 ID:U5PxsZIV.net] (a(.*?)b)|(c(.*?)d)|(e(.*?)f) だと駄目?
924 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 13:32:34.45 ID:aCeYQIzy.net] >>905 キャプチャの番号がズレるでしょうよ
925 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 13:43:13.11 ID:2zcCu4Ky.net] ruby 2.2.1でa(.*?)b|c(.*?)d|e(.*?)fでマッチするけど?
926 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 13:46:16.22 ID:aCeYQIzy.net] 並列にキャプチャするとキャプチャ結果引っ張ってくるの手間じゃない?
927 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 15:07:05.66 ID:Igfwm5uK.net] >>902 試してみました java.util.regex.PatternSyntaxException: Look-behind pattern matches must have a bounded maximum length near index 95: と返ってきてしまいました。どういうこと?
928 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 15:31:10.11 ID:1DV8OvrA.net] aやらbやらに可変長パターン用いてるんでないの? 実際に使用しているパターンを晒さないと前に進まないと思うよ
929 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 16:15:59.60 ID:Igfwm5uK.net] a <div class=\"number\"> b </div><div class=\"name\"> c <div class=\"date\">.*?\\) d \\. e <div class=\"message\"> f </div></div> です 可変長のやつを中で使ってはダメなのか!
930 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 17:17:59.83 ID:ZI2HwePN.net] >>911 cは括弧の対応が取れてないと思うんだがコピーミス? 可変長がダメなのは>>902 の奴で、>>897 の最初の奴で良さそうに思えるんだが ただ、.*?だともしもデータの対応が取れてなかったらごそっとキャプチャしちゃう恐れがあるし、その時はダンマリか猛烈に遅くなる可能性もある
931 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 17:43:31.04 ID:HRpr9Zj8.net] 可変長戻り読みはコストが大きいから無理(Javaは可能だが上限あり) 面倒だけどキャプチャ括弧で頑張るしかない で, そのパターンから見るにHTMLなんだろうけど, それ正規表現じゃなきゃいけませんかってとりあえず聞いておく HTMLパーサライブラリなんて世にいくらでもありますよ, と
932 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 18:13:58.95 ID:clhGKXZp.net] >HTMLパーサライブラリなんて世にいくらでもあります まずはそこだよなw
933 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 21:24:14.27 ID:Igfwm5uK.net] >>912 コピーミスではないんですが間違ってましたか! とりあえずエスケープもちゃんととって答えてくれたやり方やってみましたが正しく取れませんでした 自分の環境のせいかもしれません キャプチャ括弧というのでやってみようと思います 何度も限定的な同じことを繰り返すから正規表現のほうが軽いかなと思ったんですけどhtmlパーサーってやつの方がいいみたいですね。それも検討してみます どうもありがとうございました!
934 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 18:23:15.25 ID:DLwo47M5.net] 秀丸で 2009年1月 2011年3月 2011年11月 2013年12月 のような行がたくさんあるのですが 2009年 1月 2011年 3月 2011年11月 2013年12月 のようにしたいのですが 年.月 で1-9月が検索できることは分かったのですが 置換先にどう書いたらよいのでしょうか
935 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 18:30:20.93 ID:XnHJw37P.net] 年(\d)月 年 $1月 でどうかな?
936 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 18:41:22.57 ID:DLwo47M5.net] >>917 検索(S): 年(\d)月 置換(E): 年 $1月 としたら結果は 2009年 $1月 2011年 $1月 2011年11月 2013年12月 となってしまいました。正規表現(R)のチェックボックスは入れています。 検索で出てきたサルでも分かる正規表現入門とMIFESサンプル集のページを見ましたが 置換用メタ文字というのが分からなくて困っているんですね私は、たぶん。
937 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 19:16:27.79 ID:yUzAOYuJ.net] 秀丸持ってないから分からんけど\1とか
938 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 20:04:13.36 ID:DLwo47M5.net] Windows PowerShellだとsedあるのかなとか思いましたが、無かったorz 秀丸スレで聞いてみます
939 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 20:34:54.41 ID:DLwo47M5.net] >>917 >>919 レスありがとうございます 秀丸スレで教えてもらうことができました 検索(S): 年([0-9])月 置換(E): 年 \1月
940 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 00:11:31.24 ID:ahYjitv7.net] \1 は検索文字内で使うものであって、置換の方は $1 を使うのが自然なんだけどな 秀丸の実装が腐ってるのか
941 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 00:14:49.25 ID:pBh4CFEL.net] うっm
942 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 01:17:12.68 ID:q/JB8S+S.net] >>922 同様のsedという例があるからなぁ・・・・ そもPOSIX標準で置換に関して規格ってあるんだっけ? まぁPCREでも.NETの正規表現でも使った方がいいんじゃねとは思う 秀丸自体最早古臭いけど
943 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 04:19:46.44 ID:9/7795aT.net] 秀丸はbregonig.dllを使えるので正規表現の機能的には十分だし 他のエディタではあんまりない機能 「正規表現でのインクリメンタルサーチ」 ができるので重宝してる
944 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 06:22:34.74 ID:ahYjitv7.net] Perl では $1 を推奨してるだけで規格自体は無いかなぁ でも bregonig.dll で $1 が使えるのに、置換に使えないっていうのはおかしい
945 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 07:31:12.39 ID:q/JB8S+S.net] >>926 デフォルトではbregonigじゃなくてHmJreなんだろ 何も不思議じゃない
946 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 11:54:45.57 ID:Gjda/nA+.net] Windowsのエディタっていま何が主流なんですか?
947 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 12:00:04.87 ID:CRRLjGuc.net] すごいもんeditしようとしてるな
948 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 12:13:54.05 ID:Gjda/nA+.net] えっ!?(なんでワカタの)
949 名前:デフォルトの名無しさん mailto:sage [2017/02/04(土) 15:35:39.90 ID:e9aNESBj.net] >>928 禿丸
950 名前:デフォルトの名無しさん [2017/02/17(金) 00:43:55.47 ID:aR5hX4hL.net] $1とか\1とか効いたり効かんかったり、イライラするのは何故?←訊くな
951 名前:デフォルトの名無しさん mailto:sage [2017/02/20(月) 16:30:36.89 ID:D++FG3XO.net] ●Regular Expressionの使用環境 VB.NET(回答はサクラエディタでも可) ●検索か置換か? 置換 ●説明 巨大な配列に代入を行っているプログラムソースの途中に1行追加して それ以降の要素番号を1ずつずらしたいんですが、 ずらす部分を正規表現置換でやることは可能でしょうか? ●対象データ hogehoge(0) = "AAA" hogehoge(1) = "BBB" hogehoge(2) = "CCC" hogehoge(3) = "DDD" hogehoge(4) = "EEE" ●希望する結果 hogehoge(0) = "AAA" hogehoge(1) = "BBB" hogehoge(2) = "XXX" ←手入力でこの行を新たに追加 hogehoge(3) = "CCC" ←正規表現置換でhogehogeの要素番号を+1 hogehoge(4) = "DDD" ←正規表現置換でhogehogeの要素番号を+1 hogehoge(5) = "EEE" ←正規表現置換でhogehogeの要素番号を+1 ※ちなみに実際にはhogehogeの要素番号は数千ぐらいまであって 「=」の右側の式もこんなに単純ではないです。
952 名前:デフォルトの名無しさん mailto:sage [2017/02/20(月) 16:41:33.09 ID:D++FG3XO.net] ↑あまり過去ログ読んでなくて、もし既出だったら教えて下さい...
953 名前:デフォルトの名無しさん mailto:sage [2017/02/20(月) 16:54:47.42 ID:Hh/GX1rY.net] 正規表現で足し算出来るのかな? でもね、こう言う場合は Int n=0 hogehoge(n)="AAA";n=n+1; hogehoge(n)="BBB";n=n+1; とかにしておくと、いいよ。
954 名前:919 mailto:sage [2017/02/20(月) 17:11:19.64 ID:D++FG3XO.net] >>935 すみません、例を単純化しすぎました。 実際には hogehoge(0) = "AAA" hogehoge(0) = hogehoge(0) & "XYZ" みたいに同じ要素が複数回出現するので「hogehoge」にヒットさせて 直後の()内の数字を+1するしかないかなと思っています。
955 名前:デフォルトの名無しさん mailto:sage [2017/02/20(月) 17:21:36.65 ID:aGrUDuyU.net] 例えば配列要素2を追加する場合 hogehoge(1)=hogehoge(1)+"AAA" → hogehoge(1)=hogehoge(1)+"AAA" //そのまま hogehoge(3)=hogehoge(1)+"AAA" → hogehoge(4)=hogehoge(1)+"AAA" //左辺のみ+1する hogehoge(3)=hogehoge(3)+"AAA" → hogehoge(4)=hogehoge(4)+"AAA" //左辺右辺それぞれ+1する ってことか? VB.NETやサクラエディタのマクロで組めば可能だろうが、 VB.NETやサクラエディタのスレで聞け
956 名前:922 mailto:sage [2017/02/20(月) 17:27:47.63 ID:D++FG3XO.net] >>937 1つの行内ではその要素番号しか出てこないです。 あと要素番号の戻り、例えば hogehoge(3) = "DDD" hogehoge(2) = hogehoge(2) & "EEE" みたいにある要素の処理の次にそれより若い番号の要素の処理が来ることもありません。 でも確かに正規表現の範疇ではなかったですね。 すみません。去ります。
957 名前:デフォルトの名無しさん mailto:sage [2017/02/20(月) 17:28:24.78 ID:Hh/GX1rY.net] >>936 その足し算処理の vb.netプログラム書けばいいんじゃないか? 数千行をファイルに書いておいて 配列に読み込んで 正規表現で(数字)見つけて1足す どうかな? 3分あれば出来る。
958 名前:デフォルトの名無しさん mailto:sage [2017/02/21(火) 00:06:28.28 ID:DnJwQ0KY.net] 実際に要素番号を+1する必要あるの? ↓こういう置換でいいんじゃね? hogehoge(2+1) = "CCC" hogehoge(3+1) = "DDD" hogehoge(4+1) = "EEE"
959 名前:デフォルトの名無しさん mailto:sage [2017/02/21(火) 03:30:05.49 ID:BY3mJNCy.net] 配列に数千行も代入文が続くなんて どう見てもステップ数稼ぎででかくしたとしか思えん ステップ数あたりでお金を払ってだらそういうこともされるだろうよ
960 名前:デフォルトの名無しさん mailto:sage [2017/02/21(火) 05:37:02.05 ID:Mc+Bkh/z.net] 全然スレチなのであまり詳しくは書かないけど Excel使ってそういうコード書くのは何回かやったことがある 数値をインクリメンタルさせる部分はExcelの機能に頼って セルの値を文字列連結させてコードに仕立て上げる
961 名前:デフォルトの名無しさん mailto:sage [2017/02/21(火) 09:27:34.14 ID:bUsqhz7M.net] >手入力でこの行を新たに追加 ってのが、エディタ内でやるのか、コマンドラインで挿入コマンドを打つのか、で対処の仕方が変わると思うけど 追加する行をどう選定してるのかな
962 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 14:39:51.26 ID:5Z+LEgjB.net] 5桁の数字で44032から55215だけにマッチさせる表現はありますか? 自分で作ったら42〜や40〜にもマッチしてしまう気がします どうぞご教示お願いします
963 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 15:06:04.11 ID:9XUMgpP/.net] >>944 正規表現でやることじゃないが 4(4(0(3[2-9]|[4-9][0-9])|[1-9][0-9][0-9])|[5-9][0-9][0-9][0-9])|5([0-4][0-9][0-9][0-9]|5([0-1][0-9][0-9]|2(0[0-9]|1[0-5])))
964 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 15:28:46.85 ID:5Z+LEgjB.net] >>945 うわー、早速ありがとうございます まだ読みこなせていませんが[0-9]を使っていい範囲と、使ってはいけない範囲を分解してORで書く感じですね これが使えないのは意地悪ですよね [44032-55215]
965 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 15:55:01.33 ID:qZcVpQDS.net] [ab-cd]がab〜cdの範囲にならないのも意地悪か?
966 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 16:13:12.11 ID:VAe27q9f.net] そもそも正規表現でやることじゃないし意地悪とか意味不明
967 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 16:14:48.14 ID:lo050pCS.net] 何にでも得手不得手ってあるからな プロ野球選手にサッカーやらせてヘタクソって言ってるみたいなもんだ
968 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 00:50:49.36 ID:q1JDjPNt.net] >>946 何でそれで行けるべきと思ったの?
969 名前:デフォルトの名無しさん [2017/02/24(金) 06:14:30.86 ID:pM2eDGo5.net] >>950 横からでスレチで悪いが「行けるべき」はさすがに気持ち悪い。(反応不要です)
970 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 12:34:06.37 ID:flbrvxvt.net] >>944 俺はそういう数の範囲をマッチさせる正規表現を組み立てて返す関数をPerlで作ったわ 再起呼び出しを駆使すれば意外とシンプルなコードが出来るぞ >>948 正規表現でのみ検索してデータを返すシステムだと正規表現でやるしかないんだわ データを全部受け取って比較演算子でやれればいいんだけどな
971 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 12:58:27.24 ID:d9mNErv5.net] >>952 まあそういうことだけど、そんな場合ってあまり無いよね 多分質問者もそういう環境じゃないと思うな 言語系ではないだろうからエディタ、excel等だと思うけどマクロが組めないだけなんだろう
972 名前:デフォルトの名無しさん [2017/02/25(土) 15:45:30.85 ID:uYJa88pq.net] 正規表現だけで対応すべきか、素直にプログラムを書いて対応すべきかを見極めるのが、正規表現と付き合ううえで一番大事な部分。
973 名前:デフォルトの名無しさん [2017/02/25(土) 23:44:12.95 ID:kQQR0LzA.net] ●Regular Expressionの使用環境 phpのpreg_match_all ●検索か置換か? 検索 ●説明 サイトの引越をするために外部のhtmlファイルをfile_get_contentsで取得しました。 ついでに画像のパスも変更したいと思い、imgタグはシンプルな正規表現でかけたのですが inputタグでtypeがimage、しかも1つのinputタグのなかにsrcやonmouseoverなど、複数の画像パスがあり全てをヒットさせたいです ●対象データ 前略〜 <div class="xxxxxxx"><input type="image" name="xxxxxxxx" onclick="doSubmit();" src="images/xxxx.jpg" value="GO" alt="GO" onmouseover="this.src='images/yyy.gif'" onmouseout="this.src='images/zzzzz.png'" /></div> 〜攻略 ●希望する結果 hogehoge(0) = "images/xxxx.jpg" hogehoge(1) = "images/yyy.gif" hogehoge(2) = "images/zzzzz.png" よろしくお願いします!
974 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 05:09:07.37 ID:mfQeCKHi.net] >>955 php知らんので確認はできないけど (?:<input\s(?=[^>]*?type=["']image["'])|\G)[^>]*?src=["']\K([^"']+) でどうかな? 「<input type = image」のような記述も許すのなら改造してくれ
975 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 05:15:54.55 ID:mfQeCKHi.net] あっ末尾括弧不要だね ["']+
976 名前:デフォルトの名無しさん [2017/02/26(日) 12:18:45.95 ID:2VvxLCqH.net] >>955 単に拡張子を狙って (images/.+)\.(png|jpg|gif) なんてのはどうでしょう
977 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 12:33:57.08 ID:DjVx44l4.net] ディレクトリの名前はimagesとは限らないんじゃない? preg_match_all('/(?<=[\'"])[\w\/-]+\.(?:jpe?g|gif|png)(?=[\'"])/i',$data,$match); とかはどう?
978 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 12:48:58.15 ID:mfQeCKHi.net] そうだね 用件が、inputタグで属性typeがimageの場合とあるけど サイト引っ越すんならそんな場合に限定するのはおかしいので 全部(他のタグ中や普通の表示文字列内や、コメント内にあったとしてもそれも) 取り出したほうがいいもんね
979 名前:941 [2017/02/26(日) 14:41:53.86 ID:/FywCWxK.net] >>956 希望したかたちでひろえました、ありがとうございます! >>958-960 通常のimgタグは945に似た形の正規表現で処理済みでした、ありがとうございました。 復習しておきたいんですが 「正規表現 量指定子」とかだと942の\Gとか\Kでてこないんですが なんてググればいいでしょうか?
980 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 16:15:05.06 ID:340uhvEW.net] >>953 うん、あまり無いね 初めて出くわしたときは眩暈がしたわ
981 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 17:00:40.89 ID:mfQeCKHi.net] >>961 もう見つかってるとは思うけど 正規表現入門とか解説とかいうページは読み物としてはいいかもしれないが機能を検索するには不向き まずは機能一覧を探すようにする 例えばphpの場合は、公式マニュアルを最初に探す 「php 正規表現 マニュアル」 そうすれば、次には「エスケープシーケンス」も検索に追加するとかが分かる php.net/manual/ja/regexp.reference.escape.php 他の言語の場合も 「正規表現 ruby」「正規表現 鬼車」とかでまず機能一覧のページを探せばいい
982 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 17:11:28.50 ID:mfQeCKHi.net] ruby等の場合のURLが抜けた doc.okkez.net/2.0.0/view/spec/regexp k-takata.o.oo7.jp/mysoft/bregonig.html
983 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 18:00:18.91 ID:iMAoOT+h.net] 最近紙の技術書とか読まなくなったな。 使いたい機能を見つけるのに時間がかかりすぎる。 正規表現検索対応の電子ブックで出してくれたら買うんだが。
984 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 18:05:23.06 ID:1a5Lx6dL.net] 正規表現は独自拡張が多過ぎるからC++で採用されたECMAScriptの正規表現を中心に後はライブラリのマニュアルとか見るしかないと思う
985 名前:デフォルトの名無しさん [2017/02/26(日) 18:23:17.94 ID:/FywCWxK.net] >>963 エスケープシーケンスね、ありがとうございます。
986 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 20:23:41.21 ID:mfQeCKHi.net] >>967 使ってないとは思うが、独自データ属性でdata-type="image"とかがあったら誤爆するんで訂正 (以前のレスで["']+とか用件とか間違い発言もあるがさらっと流してね) (?:<input\s(?=[^>]*?(?<=\s)type=["']image["'])|\G)[^>]*?src=["']\K[^"']+
987 名前:941 [2017/02/27(月) 03:32:24.96 ID:Gb3k9mdh.net] フォローありがとうございます。 > 独自データ属性 そんな高度なものは使っていなかったので大丈夫でしたが違いを確認します!
988 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 06:33:36.26 ID:9DaoieFN.net] 「RegEx」ってどう読むの?
989 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 09:51:57.42 ID:K9fW84T9.net] レギュラーエクスプレッション
990 名前:デフォルトの名無しさん [2017/03/10(金) 12:27:48.83 ID:7jiyOitp.net] 正規表現
991 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 17:19:49.64 ID:Qd1RBCEf.net] レグエックス
992 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 21:32:21.03 ID:nO8xf2gI.net] Fedex のように発音するとどこかに書かれてた。
993 名前:デフォルトの名無しさん [2017/03/10(金) 21:35:15.44 ID:1tgzEo2G.net] ネイティブの発音だと「レゲェ」って聞こえる
994 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 23:03:16.24 ID:tXKdCDND.net] >>974 オライリーの「詳説正規表現」に書かれてたね 自分は「レゲックス」なのか「レジェックス」なのか分からずにいる
995 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 23:32:21.48 ID:nXK4riNi.net] regularの発音に沿うならレゲックスっぽい
996 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 23:40:40.57 ID:1IM+xFdJ.net] 今までレグイーエックスと言っていたが、レゲックスていいな、そう呼ぶかな て、よく考えたら脳内でしか使うことないからどうでも良いか
997 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 23:43:33.53 ID:1IM+xFdJ.net] >>977 沿ったらレギュックスに思えてきた…
998 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 02:12:11.37 ID:0+qQEpf8.net] ejje.weblio.jp/content/regex リージェックスって言ってる
999 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 02:17:46.28 ID:eS2MfmCX.net] cflagsをしーえふえるえーじーえすって読んでるから多分機械読みだぞ
1000 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 03:41:24.62 ID:0+qQEpf8.net] 発音記号・読み方 /ˈɹɛdʒˌɛks(英国英語)/ って書いてあんじゃん
1001 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 04:25:00.20 ID:eS2MfmCX.net] /??????ks/もあるんだよなぁ
1002 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 06:33:15.42 ID:ksNuoGmO.net] 素直に読めば「レジェクス」だと思うんだけど 一人もいないね・・・
1003 名前:デフォルトの名無しさん [2017/03/11(土) 08:25:08.64 ID:Z8dykLLF.net] 大文字になっているEを単語の区切りと見て素直に読むと、レグエックスかも知れん。
1004 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:39:37.23 ID:RCY883uq.net] exit読みから派生してレジイク
1005 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 09:08:04.37 ID:h5T3JHpB.net] レジクソだろ
1006 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 10:18:11.95 ID:8EPAG5jM.net] レゲエが拡張された新しい音楽スタイル、レゲックス。
1007 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 11:04:00.74 ID:JsoExgwj.net] >>980 そんなのアテにならん
1008 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 11:05:34.57 ID:JsoExgwj.net] >>985 レグェックス
1009 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 16:38:47.83 ID:ksNuoGmO.net] なんか吐いてるみたいw
1010 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 19:37:16.33 ID:M5Z0zeDZ.net] 極力舌を上顎に付けないrの発音を練習しておいて gexの部分を「ウェッ」みたいに言えるようになってから、 「正規表現とかけて赤ワインの飲みすぎと解く、その心は?」 「ェウェッ…」 ってネタをやってる
1011 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 12:46:35.07 ID:1nW2SDLA.net] TeXはテフだよね。だからレゲッフだと思う
1012 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 13:46:51.89 ID:N3DmujAP.net] うじぇ
1013 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 13:47:05.18 ID:AvyIY0iY.net] regexはリージェックスって脳内で読んでたが少数派か rege…という綴りをまんまローマ字読みするのはものすごく違和感がある それなりに英語ができる人は同じ違和感を覚えるんじゃないかな
1014 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 13:50:40.48 ID:N3DmujAP.net] https://ja.glosbe.com/ja/fr/RegEx docs.python.jp/3/howto/regex.html docs.python.jp/2/howto/regex.html https://social.msdn.microsoft.com/Forums/ja-JP/d773b6e0-17a3-4d51-9302-e4bfcdd3607d
1015 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 13:54:49.96 ID:RsKsx8Gp.net] レジェックスとか言ってる人は regenerateを”れじぇねれーと”とかallow,denyを"あろー,でにー"とか言ってそう いわゆる日本人読みやな
1016 名前:デフォルトの名無しさん [2017/03/13(月) 14:31:12.60 ID:N3DmujAP.net] warning
1017 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 14:31:47.74 ID:A9v11X3F.net] ぬるぽ
1018 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 19:07:11.42 ID:83MIjbrk.net] >>997 では外国人読みは
1019 名前:デフォルトの名無しさん [2017/03/13(月) 19:49:58.60 ID:xj6UKIPj.net] へじぇっ
1020 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 22:19:32.27 ID:DSeW/X1Y.net] ドイツ語やラテン語をある程度知ってるとレゲックスは自然に感じる
1021 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 10:24:26.23 ID:vbV/Jpv3.net] 補充
1022 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 12:36:40.80 ID:6d/Dn8y7.net] >>1000 日本語で書けばリージェックスやろ >>982 に発音記号も書いてあるやん regeという字面ならreは日本語で書くと”り”と発音するのが普通 読み方1つで教養ってでるよな ALTをアルトなんて読むアホはalternativeという単語も知らないのだろうし
1023 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 12:45:02.10 ID:zY6yKh7C.net] allow denyなんかは中学英語のアクセントや読み方の頻出単語だから まともに読めない人は色々とお察しはする
1024 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 13:00:00.43 ID:Hvng9m9D.net] 外国語 = 英語という短絡もお察し
1025 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 13:29:37.99 ID:dFlCfFI8.net] >>1005 嘘やろ denyを中高で習った覚え無いわ 今調べてもセンター試験対策レベル扱いだし
1026 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 15:57:04.16 ID:vbV/Jpv3.net] >読み方1つで教養ってでるよな
1027 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 16:02:24.86 ID:GQqLH83Y.net] 造語で正式な読みも規定されてないし、IPAの発音記号だって2つ併記されてるものをどうこう言うのも大人気ない 2つのうちの好きなほう使えばいいじゃん
1028 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 18:36:34.78 ID:gK5uM7c+.net] >>1005 こないだ職場でデニーって読んで 「デニーズじゃないんだからw」とバカにされたとこだよ…orz
1029 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 19:06:49.29 ID:ODacrlG+.net] 俺中卒だけどデナイだろ?
1030 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 01:00:45.86 ID:ko4BTSP2.net] 次スレ立ててくるよ
1031 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 01:57:31.39 ID:458LHYZa.net] 中学で英語だけは年に1回は100点取ってたけど denyを教わったことはない
1032 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 02:10:35.21 ID:ko4BTSP2.net] 規制もらってたので代行お願いしました Regular Expression(正規表現) Part14 [無断転載禁止]©2ch.net echo.2ch.net/test/read.cgi/tech/1489511075/
1033 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています