15/07/06 13:05:36.16 L6unJ2A5.net
>>389
それが逃げだと言っている
でもだってあいつがはもうやめろ
398:デフォルトの名無しさん
15/07/06 13:22:29.97 jRBtOUWL.net
(´・ω・)カワイソス
399:デフォルトの名無しさん
15/07/06 18:51:03.65 mHy7mQ0q.net
>>390
なに突然怒ってんのw面白い馬鹿だなお前ww
400:369
15/07/06 19:56:47.96 EhiPaBaL.net
>>379
これです!!!!!!!!!
ありがとうございます!!!
本当にありがとうございます!!
401:デフォルトの名無しさん
15/07/06 20:30:44.10 sYr/dgVc.net
技術評論社の「正規表現技術入門」
いま少しずつ読んでるけどなかなかいいね
オライリーの「詳説正規表現」は通勤電車で読むにはでかすぎたから
しかしいっぺんにたくさん読もうとすると頭が拒否反応を起こすので遅々として進まない
402:デフォルトの名無しさん
15/07/06 22:02:35.59 eLFiYoiP.net
>>394
遅延学習法じゃないと俺は覚えられないわ。
すげーな。
403:デフォルトの名無しさん
15/07/10 09:55:54.12 hzu9oSkn.net
ちょっと気になったんですが
[abc]と(?:a|b|c)って同じ?
404:デフォルトの名無しさん
15/07/10 15:19:23.56 z/gFWW9M.net
処理速度は明らかに違うね。やってること違うんだから
405:デフォルトの名無しさん
15/07/10 15:29:45.92 /ztBzBD5.net
(?:a|b|c) ←横たわった赤ちゃんが「てへ」って笑っているように見える。
406:デフォルトの名無しさん
15/07/10 16:53:22.08 /TIw0VBH.net
_(:3」∠)_
こういうの意味不明だったけど
90度倒すんだってことを最近学んだ
407:デフォルトの名無しさん
15/07/11 03:21:59.41 E8Ycm1mp.net
同じように見えて動作は異なる
同じ結果になることが多いけどね
後者は分岐で枝分かれするが前者はしない
枝分かれがあると他の枝に到達する前に処理が完了することがあり
それによって結果が異なるケースが出てくる
具体的には・・例を考えるのがめんどくさいので省略
408:デフォルトの名無しさん
15/07/11 05:26:15.77 +YvowemZ.net
∑(:・p
わんわん
409:デフォルトの名無しさん
15/07/11 06:12:13.81 coKbQ2xf.net
>>400
速度以外で副作用あるなら例示してくれないと
410:デフォルトの名無しさん
15/07/13 13:45:40.34 rgM8ybmA.net
一部の正規表現エンジンにある デフォルトungreedy やバックトラック無用オプションを使うと
411:出来そうだが、 例出すのめんどくせいな。
412:デフォルトの名無しさん
15/07/14 21:46:45.01 haTSgOk9.net
(a|b|c)?
あとはもう分かるね?
413:デフォルトの名無しさん
15/07/14 23:07:11.17 D0NzobbPS
分らんなぁ
414:デフォルトの名無しさん
15/07/16 08:52:15.33 +eUx92Zt.net
分かんない
415:デフォルトの名無しさん
15/07/26 19:36:44.94 ItgeJjtc.net
●Regular Expressionの使用環境
Perl?
●検索か置換か?
検索
●説明
全角文字のあとにスペースをおかずURLが書いてあるものをチェックしたい
●対象データ
あいうえおhttp
あいうえお http
あいうえお http
●希望する結果
○あいうえおhttp
×あいうえお http
×あいうえお http
416:デフォルトの名無しさん
15/07/27 01:46:46.85 oJMQ9Tqm.net
夏だねぇ。
417:デフォルトの名無しさん
15/07/27 01:59:27.68 lCJIzle6.net
>>407
/[^\s ]http/i
418:デフォルトの名無しさん
15/08/15 11:43:29.85 R9fu6Ifz.net
質問です。
Objective-Cで
(1)文字列中の[0-9],「*」,「Z」以外の文字を半角スペースに置換えるには、
どう記述すれば良いのでしょうか?
(2)同じ文字列中の別の文字(例えば「"」)も別の文字列(例えば「OK」)に置換えたい場合は、
2回に分けて行わなければいけないのでしょうか?
よろしくお願い致します。
419:デフォルトの名無しさん
15/08/18 09:52:41.61 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
15/08/18 09:54:23.67 zFueqOk6.net
●対象データ
usb:0.port_=_"0"
usb:0.parent_=_"-1"
Button0=FileNewAction
Button1=FileOpenAction
●希望する結果
_"0"
_"-1"
FileNewAction
FileOpenAction
半角スペースが消えてしまったので_(アンダースコア)に置き換えて投稿します
421:デフォルトの名無しさん
15/08/18 10:09:54.52 E/WkoMWm.net
/[^=]*?=(.*)$/
422:402
15/08/18 10:20:45.79 zFueqOk6.net
>>413
ありがとうございます
それだと全部に該当してしまい駄目でした
423:デフォルトの名無しさん
15/08/18 10:51:10.47 3C1G6Y0R.net
/(?<=\=).*$/
424:402
15/08/18 10:55:39.07 zFueqOk6.net
>>415
ありがとうございます
無事できました
どうもありがとうございました
425:デフォルトの名無しさん
15/08/19 07:30:33.92 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:デフォルトの名無しさん
15/08/19 07:35:38.53 nmY/Lo3r.net
補足 一行に複数の宣言がある場合も想定しない。
例
var a,b;
var a;var b;
などは想定しない。
427:デフォルトの名無しさん
15/08/19 07:56:53.39 2BnPkC6V.net
コメントを考慮するなら正規表現一発では無理
s = 'var a = 1;';
// var a = 1;
/* var a = 1; */
/* // */ var a = 1;
428:デフォルトの名無しさん
15/08/19 08:03:06.49 nmY/Lo3r.net
コメントが有る場合は、
var の前に一個だけあるという前提でお願いします。
429:デフォルトの名無しさん
15/08/19 08:09:24.25 hnj5IXaX.net
var a = '//ここは' /* + */ + 'コメントではない';
430:デフォルトの名無しさん
15/08/19 08:21:58.67 nmY/Lo3r.net
>>421
演算も無いという前提でお願いします。
var 変数;
var 変数 = 初期値;
/*コメント*/ var 変数;
/*コメント*/ var 変数 = 初期値;
のどれかのパターン限定で。
431:デフォルトの名無しさん
15/08/19 08:26:11.19 2BnPkC6V.net
こういうのも無し?
/*
//
var a =1;
*/
432:デフォルトの名無しさん
15/08/19 08:34:16.58 nmY/Lo3r.net
>>423
そういうのは無し�
433:ナお願いします。
434:デフォルトの名無しさん
15/08/19 08:43:57.59 nmY/Lo3r.net
忘れていました。
処理系はc++のstd::regexかboost::regexで。
435:デフォルトの名無しさん
15/08/19 09:18:39.14 8jY/tdOy.net
test
436:デフォルトの名無しさん
15/08/19 09:36:41.17 NotHJ7I4.net
●Regular Expressionの使用環境
Python 3.4
●検索か置換か?
検索
●説明
Aから始まってCで終わる(Aから最後のCの中には別のCを含まない)配列が欲しいです
●対象データ
"ABABBCBBBABBBBC"
●希望する結果
"ABABBC"
"ABBC"
"ABBBBC"
よろしくお願いいたします
437:デフォルトの名無しさん
15/08/19 15:03:59.14 ABRvhkR2.net
"ABBC" をマッチさせたいならPythonのコードで検索開始位置を指定しなければいけないよ
それとAやCが1文字なのか文字列なのかで書き方がまったく異なるんだけどどっちかな
438:デフォルトの名無しさん
15/08/19 16:05:10.36 1N+DcVii4
regexというモジュールを使うと楽だよ
>>> import regex as re
>>> re.findall(r'A[^C]*C', "ABABBCBBBABBBBC", overlapped=True)
['ABABBC', 'ABBC', 'ABBBBC']
439:デフォルトの名無しさん
15/08/19 21:54:24.07 NotHJ7I4.net
文字列です
440:デフォルトの名無しさん
15/08/20 02:06:15.79 uDC2QM+h.net
A(?:(?!C).)*C
A、Cは文字列。検索するときのオプションは re.DOTALL
普通に検索すると "ABBC" がマッチしないのでマッチするようにコーディングを工夫しないといけない
前回マッチした文字列の先頭の位置 + 1 = 次回マッチを開始する位置
これを使って1マッチごとに検索開始位置を指定し直し、これを繰り返す
マッチするものが見つからなければ検索の繰り返しを終了するようにコーディングする
使うのは re.match でなく re.search。マッチした文字列の先頭は match.start()
441:デフォルトの名無しさん
15/08/20 02:13:38.15 b7jGp5V2.net
ありがとうございます!
442:デフォルトの名無しさん
15/08/20 11:38:48.95 vSASgIXr.net
正規表現って、狭義では
s/unko/chinko/m
でいう hoge の部分のことですよね
sの部分と mの部分は それぞれなんと呼べばいいのですか?
443:デフォルトの名無しさん
15/08/20 11:47:22.72 pV6cw7bo.net
Where is hoge?
444:デフォルトの名無しさん
15/08/20 15:16:54.70 Ku+dT2bO.net
Oh i dont found hage.
445:デフォルトの名無しさん
15/08/20 15:38:44.92 lQ5EcHLA.net
>>433
お前が正規表現だったのか
446:デフォルトの名無しさん
15/08/20 16:31:01.44 /ofAbfuE.net
Palrez vous hoge?
447:デフォルトの名無しさん
15/08/21 00:40:07.59 sdFrMS9Z.net
anko が足りないぞ
448:デフォルトの名無しさん
15/08/21 00:57:17.96 l5C6fxn/.net
sayasayaもな
449:デフォルトの名無しさん
15/08/21 01:02:18.54 RiErs0YC.net
>>433
先頭のsの部分はoperationと呼ばれる。
末尾のmの部分はoptionだったかな。
perlでの話だけど。
450:デフォルトの名無しさん
15/08/21 04:29:04.11 Y3ixC287.net
test
451:デフォルトの名無しさん
15/08/21 04:41:36.20 dLGlSdT1.net
あーなるほど
452:デフォルトの名無しさん
15/08/21 08:27:46.60 C9kOInGB.net
>>440
mなんて使えたっけ?pしか覚えてねえ。
453:デフォルトの名無しさん
15/08/21 08:29:47.18 C9kOInGB.net
あ、sedの話だった。perlは分からん。
454:デフォルトの名無しさん
15/08/21 08:35:06.38 JFe3Ml2I.net
>>443
multi lineのm
文字列内の改行を行末や行頭として扱うオプション。
java scriptでも使えた気がするよん。
455:デフォルトの名無しさん
15/08/21 12:24:19.85 fG7y6P2l.net
Java Scriptでは、オプションとは言わずフラグと言ってる
gmiとy(Firefox 3で追加)の4つがある
456:デフォルトの名無しさん
15/08/22 16:26:06.32 WBRo7qVL.net
>>440
ありがとう
助かった
457:デフォルトの名無しさん
15/09/01 08:45:31.63 lL9KDRTX.net
文字列の一行目にだけある正規表現を適用したい場合
どういう風に書けばいいでしょうか?
458:デフォルトの名無しさん
15/09/01 08:50:52.82 dXN4Hx3i.net
\A を使いなさい
459:デフォルトの名無しさん
15/09/03 09:59:2
460:1.94 ID:7arkYUNT.net
461:デフォルトの名無しさん
15/09/04 14:27:00.34 hIocF1du.net
複数の単語が半角スペース、全角スペース、タブなど(一個あるいは複数個)で連結されているとして、それを半角スペース一個だけで連結したいんです。
462:デフォルトの名無しさん
15/09/04 14:38:16.99 H2J+jlBE.net
[ \t]+
463:デフォルトの名無しさん
15/09/04 15:06:08.02 OjSr213v.net
s/\s+/\s/
464:デフォルトの名無しさん
15/09/05 00:02:44.61 Xqs3nieT.net
>>453
処理系何?
465:デフォルトの名無しさん
15/09/05 00:49:32.43 R93LeTtd.net
質問すらまともに出来ない奴が正規表現なんて無理
466:デフォルトの名無しさん
15/09/10 21:59:01.69 qbjnfhqx.net
今まで任意の1文字は"."と覚えていたのですが
シングルラインでは"(?s)"
マルチラインでは"."
があると初めて知りました
シングルラインの記述はマルチラインと全く違いますが、シングルラインは1から覚えないと駄目なものなのでしょうか?
467:デフォルトの名無しさん
15/09/10 22:29:36.80 K9e6sJjq.net
単にメタ文字の意味がちょっと変わるというだけ
マルチラインだからといって一行ごとに区切って処理されてるわけじゃなく、単にメタ文字の意味が変わるだけ
468:デフォルトの名無しさん
15/09/10 22:39:25.93 CgmggGA3.net
これすごいと思った
var list = (function() {/*
ここに
任意の
文字列
*/}).toString().match(/\/\*([^]*)\*\//)[1];
469:デフォルトの名無しさん
15/09/10 23:22:04.39 lE8lGtnC.net
>>457
レスありがとうございます
意味が違う(マルチラインの意味を流用できない)ってことはやはりその意味を1から覚え直さないと駄目ってことなんですよね?
マルチラインだけの意味を理解しただけで喜んでいたことが恥ずかしい
470:デフォルトの名無しさん
15/09/11 00:23:03.67 XlHAG1ZO.net
>>458
良い事教えてもらった
471:デフォルトの名無しさん
15/09/11 00:23:58.68 suCkJgnJ.net
別にマルチラインだけ覚えててシングルラインの動作を知らなくても困ることはないよ
余裕があったらシングルラインの動作も調べればいいし、必要無ければそのままでもいい
というかググればどういう違いがあるのか一目瞭然だから気になるならググろう
別に知らなくても困らないからマルチライン一本に絞ってやっていってもいいと思うけどね
472:デフォルトの名無しさん
15/09/11 01:29:00.23 Dh6jgTtm.net
>>461
ググって違いがあったことだけで具体的な違いはまだでした
正規表現はとても興味深いのでシングルラインは具体的にどう違うのか調べてみたいと思います
ありがとうございました
473:デフォルトの名無しさん
15/09/11 07:00:21.81 GHVwR1ig.net
>>458
どうなるん?
474:デフォルトの名無しさん
15/09/11 17:05:24.41 z9laoE0x.net
質問です(Perl)。
「yyyy年mm月dd日」形式の文字列を検索して、
yyyyとmmとddを別々の文字列として受け取りたい場合は、
どう書けば良いのでしょうか?
475:デフォルトの名無しさん
15/09/11 17:53:37.67 jxONgP+h.net
>>463
間に書かれた(複数行の)文字列が変数listに代入される
が、
[^]*
の意味が判らない???
否定文字クラスが空?
WSHやIEだと(jscript)ダメ
鬼車やrubyでもダメ
[\s\S]*って書いたほうが汎用性があるんじゃないか?
476:デフォルトの名無しさん
15/09/11 18:27:00.52 GHVwR1ig.net
>>465
よくわからん。
間の文字列はコメントじゃあない?
477:デフォルトの名無しさん
15/09/11 18:38:32.93 9VDeBDLt.net
>>465
[^*]*の転記ミス?
478:デフォルトの名無しさん
15/09/11 19:53:46.65 jxONgP+h.net
>>466
一つWSH実行で例をあげてみる
var func = (function() {/* xxx */});
WSCript.Echo(func);
これは無名関数(関数リテラル)で定義された関数funcを表示してみたわけだが
function() {/* xxx */}
と表示される
これで判るんじゃない?
479:デフォルトの名無しさん
15/09/11 19:57:29.77 jxONgP+h.net
書き損じた
var func = function() {/* xxx */};
WScript.Echo(func);
480:デフォルトの名無しさん
15/09/11 22:05:30.40 GHVwR1ig.net
>>469
わからん。どう見てもコメントじゃあん。
481:デフォルトの名無しさん
15/09/11 22:13:39.85 eqePKJqG.net
じゃあん
482:デフォルトの名無しさん
15/09/11 22:17:20.35 WBH/LaOP.net
(・・?jランキング
483:デフォルトの名無しさん
15/09/11 22:19:25.84 WBH/LaOP.net
( ^ω^)
484:デフォルトの名無しさん
15/09/11 23:17:23.15 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:デフォルトの名無しさん
15/09/12 01:41:58.72 SpNYzqMd.net
>>464
/(¥d+)年(¥d+)月(¥d+)日/
でどうかな?
$1、$2、$3で
486:デフォルトの名無しさん
15/09/12 06:10:17.28 1mS4NSAq.net
全然わからん。
487:デフォルトの名無しさん
15/09/12 10:19:21.58 GXmnKqHL.net
分からんものを使ってもデメリットしかない
488:デフォルトの名無しさん
15/09/12 11:35:33.84 EtegBYPR.net
>>476
カッコで格納してドルで呼び出し
489:デフォルトの名無しさん
15/09/12 14:49:20.82 1mS4NSAq.net
448は結局どいう時にに役立つんだ?
490:デフォルトの名無しさん
15/09/12 22:39:31.81 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
15/09/16 04:04:28.82 dSgInI6n.net
自分が調べたきっかけはこういうサイトにデータを入力するのをスクリプトでやるためです。
※広告注意※
URLリンク(hibin0.web.fc2.com)
入力するデータはスクリプトで取得してますが、
ブックマークに登録した JavaScript で簡易的にやってるので
データのセットまではできないんですね。
それで、ぽとぺたの手間が少なくて済むこの方法が便利かなと。
どのみちデータとスクリプトをセットで出力して丸ごとコマンド実行するつもりですが
データの部分に手を付けなくて済むので楽かなと。
その場合、特に、文字列記号の入れ子を避けられるのがメリットです。
ついでに書くと、 >>458 の書き方だと空行が入るので
データとして使う場合は trim() か空行チェックが必要です。
492:デフォルトの名無しさん
15/09/16 09:34:22.52 d+PGYxxz.net
^と¥Aの違いを教えてください。
どちらも先頭にマッチするんですよね?
違いが分かりません。
493:デフォルトの名無しさん
15/09/16 10:57:00.59 3CkagkiO.net
>>3
494:デフォルトの名無しさん
15/09/16 11:19:06.35 d+PGYxxz.net
>>483
ググッテもさっぱり分かりませんでした。
495:デフォルトの名無しさん
15/09/16 13:45:02.23 d+PGYxxz.net
0-9の数字では無い
と言う条件は
[^0123456789]
でいいですか?
[^0-9]
と書けませんか?
496:デフォルトの名無しさん
15/09/16 14:15:51.79 3CkagkiO.net
>>484
>>3の一番上のリンク先で \A で検索
>>485
\D または [^0-9]
注意すべきなのはこれらは1文字にマッチするということ
数字でない文字が1文字存在する必要がある
497:デフォルトの名無しさん
15/09/17 14:39:05.73 AOGvYO3E.net
実用的なパターンが載っているサイトってありますか?
498:デフォルトの名無しさん
15/09/17 16:35:52.59 6tXr0RuA.net
めんどくさいタイプだな、めんどくさいんで適当にググるか本でも買って読んでくれ、じゃあの
499:デフォルトの名無しさん
15/09/17 16:58:01.05 gMKo9Xtr.net
>>487
フクロウ本でも買えば?
500:デフォルトの名無しさん
15/09/17 21:41:49.03 9KwBG3P+p
>>481
> >>458 の書き方だと空行が入るので
しまった。
名前欄は 2ch.net の番号で書いたのに
アンカーは 2ch.sc の番号で書いてしまった。
アク禁食らったから 2ch.net に書けない。
501:デフォルトの名無しさん
15/09/18 22:33:32.80 ThAKGp2R.net
正規表現ってどうして言語ごとに違いが有るの?
厳密な規格みたいなのは無いん?
502:デフォルトの名無しさん
15/09/19 00:42:49.70 4VjvFtyx.net
その土地ならではのバックスラッシュ
503:デフォルトの名無しさん
15/09/19 01:16:12.96 jVOZa/zV.net
regex-testdrive.com/ja/
"aaa/bbb/ccc"から"aaa/"をマッチさせるつもりで".+?/"と書いたんですが
"aaa/bbb/"がマッチします。何故ですか?
504:デフォルトの名無しさん
15/09/19 06:55:30.87 V+MALMQT.net
"bbb/"というグループも".+?/"にマッチするのではなかろうか?
505:デフォルトの名無しさん
15/09/19 10:53:10.43 jFHyX+Eq.net
もう来ないで欲しい
506:デフォルトの名無しさん
15/09/19 14:03:35.01 qCXEI70o.net
^.+?/
だと"aaa/"がマッチするよ
507:デフォルトの名無しさん
15/09/19 14:31:54.26 qCXEI70o.net
>>493
結局、勘違いじゃないですかね?
/gフラグ付きで、"aaa/"と"bbb/"の両方にマッチしてるんでない?
508:デフォルトの名無しさん
15/09/19 14:40:22.56 ISETQD0O.net
正規表現覚えるなら言語は何がお勧め?
c#でやれば他の言語でも応用出来ますか?
509:デフォルトの名無しさん
15/09/19 14:44:12.71 qCXEI70o.net
>>498
色々あるけど自分がよく使う環境が一番いいよ
実装が多いのを使ってみたかったら、Perlとか鬼車とかでいいんじゃない?
510:デフォルトの名無しさん
15/09/19 15:22:53.14 jVOZa/zV.net
>>494 >>496-497
ああ、最後まで反復されてるってことですか
無欲の解釈に自信がなかったので気付きませんでした
ありがとうございました
511:デフォルトの名無しさん
15/09/19 15:30:23.88 jFHyX+Eq.net
バカすぎ
512:デフォルトの名無しさん
15/10/06 15:24:45.73 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:デフォルトの名無しさん
15/10/06 19:18:07.89 7VCMeLNK.net
引用符が全角なのはまずいし、sed で -i オプション使うなら、-i.bak ってした方がいい。んで
sed -ne "/LoadModule php5_module/p"
でマッチするかどうかから始めたらどだろか。
やりたいことはコメントマーク外すだけみたいだから、エディタで編集した方が早そうだけど。
514:デフォルトの名無しさん
15/10/11 22:47:47.44 KbfkRHMw.net
出来るだけ精度良く住所にマッチする正規表現を教えて下さい。ネットの例はどれも性能不足でした
515:デフォルトの名無しさん
15/10/13 09:00:48.01 4ZQyScAP.net
全市町村入力してマッチさせたらいいよ
516:デフォルトの名無しさん
15/10/13 13:58:08.73 P4Y/UxqF.net
>>505
物凄く長いパターンになるんじゃないか?
何文字くらいか見当もつかない
517:デフォルトの名無しさん
15/10/13 14:17:22.83 GR3E4svI.net
(((( ;゚Д゚))))
518:デフォルトの名無しさん
15/10/13 19:13:40.45 P4Y/UxqF.net
519:[a-z]のtだけは除外したい場合 [a-su-z]で出来ると思うのですが、 [^ta-z]みたいな書き方は出来ませんか?
520:デフォルトの名無しさん
15/10/13 19:21:04.50 uqM+CGI7.net
>>508
(?!t)[a-z]
521:デフォルトの名無しさん
15/10/13 19:44:38.71 P4Y/UxqF.net
>>509
ありがとうございました。
522:デフォルトの名無しさん
15/10/17 12:39:42.52 lZc14wWH.net
"単語A", "単語B", "単語C"
のどれも含まないパターンって
どう書くのでしょうか?
523:デフォルトの名無しさん
15/10/17 13:17:34.78 vyPdS64J.net
横㌧
524:デフォルトの名無しさん
15/10/17 14:40:06.33 8crV4oii.net
>>511
どれかが含まれるパターンの否定
525:デフォルトの名無しさん
15/10/17 14:46:12.98 f+gWclGN.net
ド・モルガンの法則ってやつだね
526:デフォルトの名無しさん
15/10/17 14:56:57.56 5seGsXGR.net
素直に教えてやれよ
^(?!.*単語A)(?!.*単語B)(?!.*単語C)
527:デフォルトの名無しさん
15/10/17 15:15:01.19 K9XF/GDc.net
thx
528:デフォルトの名無しさん
15/10/17 15:18:00.34 K9XF/GDc.net
s
529:デフォルトの名無しさん
15/10/17 16:34:38.08 bgoAiOcg.net
>>511は>>2のテンプレ使うべき
正規表現の否定の使えるプラグラミング言語なのか
単なるテキストエディタなのかでも
回答は違ってくるわけで。。。
530:デフォルトの名無しさん
15/10/17 17:24:26.45 5seGsXGR.net
>>518
まあそうだが、何もそんなに杓子定規に対応しなくてもいいと思う
特別な環境なら自分から質問時に注釈をつけてるはずで
何もなければ一般的な回答でいい
否定先読みは一般的と言える(戻り読みは特殊)し、もしダメだったらまた何か言ってくるだろ
531:デフォルトの名無しさん
15/10/17 19:43:19.06 lZc14wWH.net
>>515
上手く行きました。
ありがとうございました。
532:デフォルトの名無しさん
15/10/18 18:11:22.29 sPJe7rRi.net
合致するもの以外を取得する、
否定オプションを使えば?
grep -v (invert)
533:デフォルトの名無しさん
15/10/21 06:17:27.55 H3y+KU/u.net
トンデモ質問者に不満がある奴は来ないほうがいいぞ、ストレス溜め込むだけだ
こんなとこで油売ってる暇があったら仕事しろ
534:デフォルトの名無しさん
15/10/21 07:51:48.47 zc5Cc/IW.net
回答者の一部がトンデモなだけで
質問者がトンデたとは思えない
535:デフォルトの名無しさん
15/10/22 12:38:36.36 n0r635Bx.net
●Regular Expressionの使用環境
EmEditor Free 15.2.2
●検索か置換か?
置換
●説明
n個目の半角スペースから指定文字までを消したい
●対象データ
ABC DES GER AAG AEV文字列AFGABBMNYEUDSAE
●希望する結果
2個目の半角スペースから文字列までを消す場合は
ABC DES AFGABBMNYEUDSAE
536:デフォルトの名無しさん
15/10/22 14:32:37.10 wNyxqlEs.net
#とにかく半角空白の数を基準にする(対象の半角空白*以降*からだよ!)
^(([^ ]* ){2}).*文字列(.*) 置換後 $1$3
#字下げは無視して、要素間の連続した空白を基準にする
^( *([^ ]+ +){2}).*文字列(.*) 置換後 $1$3
537:デフォルトの名無しさん
15/10/22 14:37:33.55 wNyxqlEs.net
ごめんemエディタの置換後の書式は \1\3 だね。すまぬー
538:デフォルトの名無しさん
15/10/22 16:59:09.63 n0r635Bx.net
>>525-526
ありがとうございます。本当に助かりました。
539:デフォルトの名無しさん
15/11/01 22:47:29.02 tEVs0h0K.net
半角スペースは削除するが、
《》内の半角スペースだけは残す
というようなことをやるにはどうすればいいですか?
540:デフォルトの名無しさん
15/11/02 02:30:11.81 0yaAkPxX.net
s/[^<>]\{-}\zs \ze[^<>]\{-}\(<[^>]\+>\)\@=//g
うーん我ながらひどいwでもまあ動くぜw入れ子とか勘弁ねw@vim
541:デフォルトの名無しさん
15/11/03 05:06:05.67 Gf5Di//A.net
検索
\G[^ ]*+(?:《[^《》]*+》[^ ]*+)*+\K[ ]++
置換
なし
542:デフォルトの名無しさん
15/11/04 00:42:18.00 2GmlXuzB.net
あ、間違えた。これじゃ誤爆する。まぁいないみたいだからいっか
543:デフォルトの名無しさん
15/11/15 03:36:57.52 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:デフォルトの名無しさん
15/11/15 03:39:42.55 2QREH4SF.net
ごめんなさい
上の方は、bird.Human.をbirdとhumanに分けたいのと、
pattern = r"\s|,|\."で分割されないのはtext=u'My name is ...'です
545:デフォルトの名無しさん
15/11/15 03:49:47.11 +qgiEGrj.net
>文字ごとに分割したいんですが
文字ごとにって、どういう意味?
例示して
546:デフォルトの名無しさん
15/11/15 10:06:11.57 LQyOcx+Q.net
\ (U+005C バックスラッシュ) が ¥ (U+00A5 円記号) になってしまっているのでは
547:デフォルトの名無しさん
15/11/15 10:15:49.91 goCF/v9g.net
\
548:デフォルトの名無しさん
15/11/15 15:42:32.36 rTjjRyT5.net
パターンの指定でユニコード指定してないからとかかな
環境がWindowsじゃないので試せんけど
pattern = r" |,|\."
↓
pattern = ur" |,|\."
549:521
15/11/15 17:30:49.79 FWlzzsCJ.net
みなさんありがとうございました
どうも>>537さんのurが正しいようでした
>>534
[u'Dog', u'cat', u'mouse', u'bird', u'Human', u'']
のようなことです
550:デフォルトの名無しさん
15/11/15 18:11:41.60 PV6fOtMt.net
python2系禁止ですね判ります
551:デフォルトの名無しさん
15/11/19 11:27:12.55 o7BebgZg.net
mateで
【社会】わずか800円の支払いめぐり殴る蹴る 高2生徒ら3人逮捕 [11/17]
みたいななんかニュースのタイトルだけ投稿してるをNGしたいんだけどどうすればいいですか?
552:デフォルトの名無しさん
15/11/19 13:44:47.18 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:デフォルトの名無しさん
15/11/19 14:18:24.13 jYNOeoK3.net
そもそもstr内のバックスラッシュ自体がエスケープ文字扱いだろ。
554:デフォルトの名無しさん
15/11/19 15:05:21.02 D79COvYS.net
str = 'test\\test/test';
window.console.log(str);
window.console.log(str.replace('\\','/'));
window.console.log(str.replace('/','\\'));
これで置換できてるけど
第一引数は正規表現オブジェクトじゃなきゃならん理由があるのけ?
555:デフォルトの名無しさん
15/11/19 15:10:19.42 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
15/11/19 15:36:16.35 QaQdEv4L.net
>>542-544
確かにstrの方はエスケープ文字扱いになってますね。
ですが、処理対象の文字列は 'C:\\Test\\Out\\test.txt' のように2個の\ではなく
あくまでシングルの\です。
※ 実際 \test なんかは \t でタブ扱いになってしまってる。
あと対象データ 「var str =」 は余計に書いてました。すいません
557:デフォルトの名無しさん
15/11/19 15:50:50.30 1wzVL5X/.net
>>545
javascriptの仕様は知ってるんだろ
変数に直接固定文字列を代入する場合は、""の中で\はエスケープして\\と書くが
実際の変数の中では、\一つだけの文字列だよ(表記だけの問題)
別の方法で変数に代入してるのなら、なんの問題もない
(例えば、入力フォームから取り込むとかファイルから読み込む等)
>>544を実行すれば、sには\は1つだけなのがわかるはず。
(s.lengthで文字数調べてみて)
558:デフォルトの名無しさん
15/11/19 16:33:08.62 D79COvYS.net
>>545
進展のないレスだな
既に>>541の要件は満たしてるが
何が解決して何が未解決なのか、貰ったレスで何を得たのか何を試したのか
示して貰わんことには話が進まんよ
エスパーしてみるけど
var str =
559:デフォルトの名無しさん
15/11/19 17:16:57.37 bYoVHZ0x.net
ヽ( ・∀・)ノ● ウンコー
560:デフォルトの名無しさん
15/12/07 12:19:41.67 2PUB+AZr.net
Javascriptですが
/abc/
と
/^.+abc/
ではどちらが速い(良い)ですか?
561:デフォルトの名無しさん
15/12/07 15:54:00.79 KuRdWB2c.net
後者
562:デフォルトの名無しさん
15/12/07 15:54:35.70 KuRdWB2c.net
っていうか挙動が違うから比べる意味がないな
563:デフォルトの名無しさん
15/12/07 16:14:08.95 RTM8BSjV.net
うん
564:デフォルトの名無しさん
15/12/07 17:31:48.63 PeVLng9H.net
wshや鬼車で比較したところでは、/abc/の方が、マッチした場合でもマッチしなかった場合でも早かったよ
565:デフォルトの名無しさん
15/12/07 17:44:44.45 PeVLng9H.net
>>549
自分で確めてくれ
この文字列以外だと別の結果が出る可能性もある
WSHでのサンプルコードを貼りたかったけどはねられるんでダウンロードしてくれ
URLリンク(www1.axfc.net)
566:デフォルトの名無しさん
15/12/07 22:41:00.40 820kEC52.net
>>553-554
おっしゃる通り/abc/の方が劇的に速くて驚きました
今後も活用させて頂きます
わざわざありがとうございました
567:デフォルトの名無しさん
15/12/08 02:26:16.51 oGP4gtxs.net
matchじゃなくてtestにするともっと差が付く
568:デフォルトの名無しさん
15/12/08 12:50:29.55 bk3CsbSP.net
ブックマークレットにしてFxやChromeで実行したら雲泥の差が出た
569:デフォルトの名無しさん
15/12/16 11:07:10.45 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:デフォルトの名無しさん
15/12/16 11:16:22.98 NHyuVX8f.net
てst
571:デフォルトの名無しさん
15/12/16 11:29:39.24 HLJItCvE.net
正規表現でランダム置換なんてできないだろ?
つーかスパムメールでも送るつもりか?
572:デフォルトの名無しさん
15/12/16 15:16:46.07 ZVfdq9M1.net
ありがとうございます、やはり出来ないですか。
私の知らないだけでもしそういったコマンドがあればと思いお聞きしました。
上は例でしたのでスパムといったことは特にないです。どうもありがとうございます。
573:デフォルトの名無しさん
15/12/16 15:37:26.82 TfMgYFKH.net
鬼雲又はBoostってことはプログラムコードの中ってことだよね
だったら、
a@hoge.comをマッチさせて(aa@hoge.comをマッチさせるのかどうかは知らんが)
ランダム文字列を生成したものと合成すりゃいいじゃん
574:デフォルトの名無しさん
15/12/16 15:43:04.74 TfMgYFKH.net
言語は何か知らないけど概念的にはこんな感じ
loop(n) {str+=random(26)+'a';}
result=textdata.replace(/a(?=@hoge\.com)/,str);
575:デフォルトの名無しさん
15/12/30 22:24:19.02 ugBw4vew.net
BREで文字列の選択はできますか?
576:デフォルトの名無しさん
16/01/02 13:36:50.40 iX7NZfvy.net
back-references ならば、
\(文字列\)
参考
Regular Expressions
URLリンク(pubs.opengroup.org)
man 7 regex
Man page of REGEX
URLリンク(linuxjm.osdn.jp)
577:デフォルトの名無しさん
16/01/07 09:25:29.24 /RiEuU07.net
●Regular Expressionの使用環境
Perl5互換
●検索か置換か?
検索
●説明
リンゴの前が「い」ではない文字列だけをマッチさせたい
●対象データ
おいしいリンゴ
まずいリンゴ
どくリンゴ
つぶれたリンゴ
ミカン
バナナ
●希望する検索結果
どくリンゴ
つぶれたリンゴ
否定などを使えば実現出来るのでしょうか。
こういったことが可能であれば教えてほしいです。
578:デフォルトの名無しさん
16/01/07 10:02:33.73 6pWPF2x5s
(.*[^い])リンゴ
579:デフォルトの名無しさん
16/01/07 12:21:47.60 Fs99JMqE.net
.*[^い]リンゴ
.*(?<!い)リンゴ
ポイント
(?<!しい) の代わりに [^しい] などとするのは、考えているのとは違うものになる
look-behind の場合は一文字以上でもいいが、固定長
学習用のキーワード look-behind 戻り読み 後読み
580:デフォルトの名無しさん
16/01/07 12:22:39.48 Tlv8AN3c.net
/(?<!い)リンゴ/
581:デフォルトの名無しさん
16/01/07 12:33:15.19 Tlv8AN3c.net
>>568の2つには
リンゴ
(で始まる)にマッチするかしないかの違いがある
582:デフォルトの名無しさん
16/01/07 13:22:41.46 /RiEuU07.net
>>568
>>569-570
なるほど、そのように記述すればいいのですね。
希望の動作となりました。
頂いた書き方を見ると近いところまでは出来ていたのですが、細かい部分が間違っていました。
お二方、詳しくありがとうございます。
583:デフォルトの名無しさん
16/01/16 20:12:13.73 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:デフォルトの名無しさん
16/01/17 10:54:04.10 iD/f7ImV.net
紹介程度なので間違っているところが有るかもしれない
またSYLKフォーマットについてはよく分かりません
ので、適当に直して下さい
ポイント 部分式呼び出し(subexpression call)
#!/usr/bin/ruby
RE = Regexp.compile( <<'__EndOfRE__'.strip, Regexp::EXTENDED )
# definition
(?<content> (?: \g<wQuote> | \g<parenthesis> | [^;
585:デフォルトの名無しさん
16/01/17 10:55:46.44 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:デフォルトの名無しさん
16/01/17 11:04:16.54 iD/f7ImV.net
587:2ch の bug かな?>>573 は書き込みが途中で、切れました >>574 注意WQ の所は、ダブルクォート”(半角)です [circumflex(hat) semicolon double-quote opening-parenthesis closing-parenthesis]
588:560
16/01/25 00:07:23.44 1Yw/SdQW.net
>>573-575
ありがとうございます。期待どおりの結果を得られました
しかし
>部分式呼び出し(subexpression call)
Rubyリファレンスマニュアルのその項を読んでみましたが
その式がどのように動くのか理解出来ず・・・orz
もう少し調べてみます
589:デフォルトの名無しさん
16/01/25 00:18:23.56 PxJn4izo.net
お
590:デフォルトの名無しさん
16/01/27 16:44:20.49 7OoaEKpf.net
教えてくださいC#で置換です
<script type=
591:デフォルトの名無しさん
16/01/27 16:48:11.79 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:デフォルトの名無しさん
16/01/27 16:55:08.37 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:デフォルトの名無しさん
16/01/27 17:52:47.55 xlCdIBQv.net
C#は全く知らんのだけど、(<script.*src="(?!http).*)(\?)?(".*></script>)って感じで
$2が入ってるかどうかで&をつけるか?をつけるか変えれば良いんじゃない?
594:デフォルトの名無しさん
16/01/30 13:59:02.70 97c75ht0.net
c:\aaa\bbb\file.txt
.\bbb\file.txt
file.txt
など、windowsのパス(絶対、相対など)から
file.txt
を取り出す表現を教えてください。
595:デフォルトの名無しさん
16/01/30 17:00:13.79 TTafasRV.net
後ろに\がない位置から末尾まで
596:デフォルトの名無しさん
16/01/31 08:22:35.34 AEa1Mqyg.net
正規表現じゃあできないだろ
597:デフォルトの名無しさん
16/01/31 09:01:11.31 LZLEJP3w.net
/^(.*\\)?(.*)$/
で$2を取り出すとか?
598:デフォルトの名無しさん
16/01/31 09:19:22.49 ZGm5BbJ5.net
っd
599:デフォルトの名無しさん
16/02/01 01:38:37.18 42LJ55Ye.net
/[^\\]+$/
でいいよな
600:デフォルトの名無しさん
16/02/02 13:31:32.45 Wp28ZdyP.net
●Regular Expressionの使用環境
C#
●検索か置換か?
置換
●説明
出現する>>数字のみをすべて+1したい
●対象データ
>>1>>2>>1-2>>1-3
●希望する結果
>>2>>3>>2-3>>2-4
601:デフォルトの名無しさん
16/02/02 14:46:27.61 yOFSQOe0.net
>>588
そんなの何に使うと?
602:デフォルトの名無しさん
16/02/02 15:17:40.05 xkCOh91z.net
それを聞いてどうする
603:デフォルトの名無しさん
16/02/02 15:31:50.69 chGMw9p3.net
問題出すために作った問題って実用性がなくてつまらんってことだな
604:デフォルトの名無しさん
16/02/02 15:36:08.94 yRO4HgSK.net
実用性がなかろうが殺人用途だろうが
このスレが知ったことではない
605:デフォルトの名無しさん
16/02/02 15:44:26.23 rxAKW9Tr.net
>>588
URLリンク(ideone.com)
606:デフォルトの名無しさん
16/02/02 17:10:36.37 Wp28ZdyP.net
>>593
ありがとうございます。
申し訳ないのですがこちらの言葉足らずでした。
データには数字だけでなく他の文字も含まれています。
要は2chのアンカーと全く同一です。
その中からアンカーに関連する数字のみをすべて+1したいのです
●対象データ
>>1乙
>>2
なんたら
>>1-2
かんたら
>>1-3
うんたら
●希望する結果
>>2乙
>>3
なんたら
>>2-3
かんたら
>>2-4
うんたら
607:デフォルトの名無しさん
16/02/02 17:50:46.40 qIgOE2Mph
(?<=>>)([\d-]+)
後の処理はご自分でドーゾ。
608:デフォルトの名無しさん
16/02/02 17:51:34.47 oL+DFss1.net
(?<=>>)([\d-]+)
後の処理はご自分でドーゾ。
609:デフォルトの名無しさん
16/02/02 20:27:18.56 Wp28ZdyP.net
>>596
どうもありがとうございました。何とか出来たようです。
610:デフォルトの名無しさん
16/02/16 22:58:07.87 5hX1n3eK.net
NGexでIP表示スレの特定範囲IPをアボーンしたいのですが
これを正規表現にするとどんなかんじでしょうか?
↓
182.248.0.0-182.251.255.255
611:デフォルトの名無しさん
16/02/16 23:41:05.17 WEL4Qqsyw
URLリンク(www.analyticsmarket.com)
^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:デフォルトの名無しさん
16/02/17 00:34:07.03 BOXLOMwS.net
2(4[89]|5[01])
613:デフォルトの名無しさん
16/02/19 21:08:52.87 fiOWql8G.net
11以上の数値にマッチする正規表現はどうやって書けば良いでしょうか?
614:デフォルトの名無しさん
16/02/19 22:12:34.67 Nn93sxwn.net
>>601
全然スマートじゃないけど
/0*[1-9](?:0\d+|[1-9]\d*)/
とか
/0*(?!10(?:\D|$))[1-9]\d+/
とか
615:デフォルトの名無しさん
16/02/19 22:59:54.37 fiOWql8G.net
>>602
ありがとうございました!
凄く助かりました
上は20,30,40,50等がヒットしないようなので
下を使わせて頂きます
本当に困っていたので涙が出るほど嬉しかったです
616:デフォルトの名無しさん
16/02/19 23:36:44.62 pjLhb+yw.net
(1[1-9]|[2-9][0-9]|[1-9][0-9][0-9]+)
617:デフォルトの名無しさん
16/03/01 00:13:29.69 yoDa+UzO.net
JavaのMatcherクラス
<div id="aaa">
</div>
<div id="bbb">
<div id="ccc">
<div id="ddd">
</div>
</div>
</div>
ネストしてるdivタグの囲った範囲の文字列抽出と、idの中身を取り出したい
んだけど、入れ子になってるもののマッチってどうすればいい?
618:デフォルトの名無しさん
16/03/01 00:57:17.60 QFDKhVDb.net
>>605
Java知らんけど再帰をサポートしてない正規表現なら
自分でパースする関数を作ったほうがいい
619:デフォルトの名無しさん
16/03/07 14:11:54.25 oj83hPpT.net
# .*? の、? は最短マッチ
str = File.read('File1').gsub(/^=begin.*?^=end/m, '')
=begin
複数行コメント
=end
Rubyで、行頭=begin ~ 行頭=end で囲んだ、複数行コメントの部分を、複数行の最短マッチで削除したいのですが、=end の同じ行内で、
後ろに書いた、改行以外の部分もついでに削除したい。以下の ' ABC'
=begin
複数行コメント
=end ABC
620:デフォルトの名無しさん
16/03/07 14:26:17.00 oj83hPpT.net
>>605-606
木構造を持っているものは、正規表現では無理なので、Parserを使う
621:593
16/03/07 14:43:24.76 oj83hPpT.net
>>607 自己レス
# .*? の、? は最短マッチ
str = File.read('File1').gsub(/^=begin.*?^=end/m, '#')
str.gsub!(/^#.*$/, '')
元々、行頭が # の行も削除するので、
いったん、複数行コメントの部分を、# に置換してから、
行頭が # の行を削除するようにした
=begin
複数行コメント
=end ABC
これが、以下に置換される
# ABC
622:デフォルトの名無しさん
16/03/07 15:18:29.62 +tQLURZK.net
gsub(/^=begin.*?^=end.*$/m, '')でいいんじゃないの?
623:593
16/03/07 18:33:50.83 oj83hPpT.net
>610
# .*? の、? は最短マッチ
str = File.read('File1').gsub(/^=begin.*?^=end.*$/m, '')
複数行マッチで、$ を使ったら、ファイルの最後まで削除された。
以下で、' ABC' だけではなく、'123' も削除された。
たぶん、$ が機能しないで、無視される
=begin
複数行コメント
=end ABC
123
624:デフォルトの名無しさん
16/03/07 19:40:41.19 bcG1DORl.net
[\r\n]=end[^\r\n]+
625:593
16/03/07 20:46:34.99 oj83hPpT.net
>612
改行コードが、[\r\n]限定で、それで出来ました。
gsub(/^=begin.*?[\r\n]=end[^\r\n]+/m, '')
=begin
複数行コメント
=end ABC
123
これで、ABCも削除されて、123だけが残ります
626:デフォルトの名無しさん
16/03/07 22:28:10.83 HxQlSEZO.net
>>611
自コメで書いてる
627:デフォルトの名無しさん
16/03/07 22:33:56.04 HxQlSEZO.net
>>611
自コメで書いてる”end.*?$”はどうだったの
628:デフォルトの名無しさん
16/03/08 10:02:12.73 N+gwerl0.net
stra.gsub(/^=begin[^{=end}]*=end[^\r\n]+/m,'')
629:デフォルトの名無しさん
16/03/08 13:04:09.09 810kd9as.net
>>610 に ? をつければ、要件を満たすでしょ?
つまり
/^=begin.*?^=end.*?$/m
>>611
> たぶん、$ が機能しないで、無視される
.* だと、123まで greedy に食べて、文の終わりで $ がマッチする
>>607
> 後ろに書いた、改行以外
と書いてはいるが、もし =end ABC の直後の改行まで含めるなら
/^=begin.*?^=end.*?(?:^|\z)/m
630:593
16/03/09 00:51:28.21 t6r0Jvyr.net
>>616
難しそう
>>617
# .*? の、? は最短マッチ
gsub(/^=begin.*?^=end.*?$/m, '')
.*?$ で、最短マッチで、直後の行末に一致しました
=begin
複数行コメント
=end ABC
123
これで、123 だけが残ります
631:デフォルトの名無しさん
16/03/09 16:28:40.83 i4NOJr2P.net
エスケープを考慮した置換or検索ってどうやるのでしょうか?
foo
632:デフォルトの名無しさん
16/03/09 16:35:42.75 i4NOJr2P.net
途中で書き込んでしまいました><
”は実際には半角のダブルクオーテーションです。
foo”hoge\”fuga\””bar
から
”hoge\”fuga\””
を切り出したいのです。
環境は
URLリンク(dlang.org)
です。
633:デフォルトの名無しさん
16/03/09 16:42:08.96 QVSpkpW+.net
>>619
ご機嫌だな
634:デフォルトの名無しさん
16/03/09 17:14:05.70 pSSorbbr.net
(?<!\\)".*?(?<!\\)"
でダメかな?
635:デフォルトの名無しさん
16/03/09 18:05:33.74 lkt9n8as.net
"(?:[^"\\]|\\.)*"
基本
[^"]*
エスケープを加える
(?: [^"\\] or \\. )*
636:デフォルトの名無しさん
16/03/09 19:55:26.16 CzXZOLWV.net
>>623
\"hage\"foo"hoge\"fuga\""bar
637:デフォルトの名無しさん
16/03/09 20:45:11.70 lkt9n8as.net
>>624
>>622 の後で書き込んでいる。当然、考慮済み
それは、必要なら改めて加えれば良い類の、余計な例示
638:デフォルトの名無しさん
16/03/10 02:05:51.88 mX7rq38E.net
>>625
いや明らかに不親切だろ
こんな質問する奴にそこまで考慮が及ぶとは考え難い
一言あってしかるべきだったと思うけど
まあ例示は変だけどね
こんなのはあるかも知れない
(`"aaa`) == "\"aaa"
まあ事ほどに言語の記述に正規表現を適用するのは難しい
639:デフォルトの名無しさん
16/03/10 07:41:20.34 zEnJuJZN.net
>>626
明らかに不親切かなあ?
「明らか」なのか?
ただの >>626 の主観でしかなくないかい?
どちらかというと俺は、解説やキーワードを付けたりして、親切にしているのだが。
エスケープされたダブルクォートが、ダブルクォートの外に出ている等の場合が普通に想定されるなら
何か断りを入れるよりも、正規表現に加えるよ
通常想定されない余計な場合を考えて、余計なものを付け加えて複雑化したものよりも、
シンプルで理解が進むだろうと、俺は思うよ
そしてその方がより親切だと思う。まあ、自分の主観でしか無いが
> (`"aaa`) == "\"aaa"
これには >>622 もマッチに失敗するけど、別段おかしいとは思わない
こういう別のクォートは、そのクォートの方で処理するべき
他にもシングルクォートや、正規表現 /.../ の中でダブルクォートが存在する場合も有るだろうけれど
別のクォートまで一々書かないよね
ああ、もう時間だ
640:デフォルトの名無しさん
16/03/10 11:41:50.66 qiWLYw+g.net
foo”hoge\”fuga\””bar から
”hoge\”fuga\”” を取り出したい
他のケースはなにも考慮しなくていい
というなら
".*"
で済んでしまうな
641:デフォルトの名無しさん
16/03/10 18:35:57.99 mX7rq38E.net
>>627
最初のレスはいい
次の>>625が問題レスだって言ってる
これにカチンとくる奴はいっぱいいるぞ
それと (`"aaa`) == "\"aaa"は言語の解析に正規表現を使うっていうこと自体の
無理っぽさを言ったまで
パーサーを使うべき問題
642:デフォルトの名無しさん
16/03/11 12:11:21.08 iOVIDxci.net
無言で難癖の類をつけている >>624 や、必要のない想定について
「一言あってしかるべき」などと続けている >>626 の方に
疑問を持つ人の方が一杯いそう
他人の解答に何か言うのではなく、不満なら自分で答えればいい
他人の解答がなにか言葉が足りないと思うなら、そっと付け加えれば良いだけ
643:デフォルトの名無しさん
16/03/11 16:42:52.81 YbW0J/IA.net
解説をつけて親切に教えたという人が>>625を同じ口で言うとは俄かに信じがたい
644:デフォルトの名無しさん
16/03/12 17:14:20.51 ECchds7o.net
悪意の有る人間に同じ様に親切にする奴なんていないだろ
645:デフォルトの名無しさん
16/03/12 18:28:04.43 6kiXFdsY.net
はいはいお前が正しいからもういいって
お前ってのはこのレス読んだお前のことな
646:デフォルトの名無しさん
16/03/12 22:46:54.63 85ImJBBX.net
未だに何が問題だったのか認識してないようなので解説をば
・まず完璧なレスは誰にも期待はできないので抜けや間違いがあっても仕方はない
この点を考慮して、最初のレスに不備は全く無い
・次に>>624がいちゃもんだと決め付けて、「そんなことお前よりわかっとるわい、黙っとれ」
みたいなレスが問題点だと言える
もし、解説し忘れて抜けてたんだったら、きちんと解説すればいいし、
熟考の上でわざと書かなかったのなら、こんなレスはつけずに無視してれば良かった
それに、>>624はいちゃもんとは限っていない
>>623だとこういう問題点もあるということを質問者に気づかせる意図だったのかも知れない
その場合リンクを>>620にするかってことだが、何も文章を書かずに例示するだけなら
俺でも>>623にリンクを貼ると思う
まあプライドが高くてすぐに剥がれるようなメッキはちょっと見苦しい
647:デフォルトの名無しさん
16/03/13 22:55:06.34 5pC+CJpl.net
>>624は、好意的に見てもせいぜい
「エスケープしたダブルクォートが、もしも外に有ったらどうするんだよ?」
位にしか読めないじゃないか
「何言ってんの?お前」って返されても文句言えないだろ
そうは思うが、>>625では淡々と事実だけ書いたんけどな
ああ、気分わるいなあと思ったが感情を抑えて、事実だけな
>>624の様に無言でレスを付ければ、指摘だけしか無いのだから、
どう解釈されても仕方が無いよな。指摘だけで勝負だろ
誤解を生みやすく、結果的に相手の感情を害したとしても。
もし、相手を傷つける意図がないならば、感情の行き違いを避け、
誤った意図やニュアンスで伝わらない様に、文章を添えるべきだよね
>>624では、バカにされても仕方が無い様な、おかしな指摘を無言でしておいて、
こちらはそれもしていないのだが、語句がキツくて気に入らないとか、
逆ギレもいいところだろ。怒っていますと繰り返している、
あなたの方がお高いプライドの持ち主なんじゃないの?
648:デフォルトの名無しさん
16/03/13 22:55:30.93 5pC+CJpl.net
> 熟考の上でわざと書かなかったのなら、こんなレスはつけずに無視してれば良かった
無言のレスに、レスを付けて何が悪いのか?は?
> 質問者に気づかせる意図だったのかも知れない
自己弁護も白々しく、しかも都合が良すぎる
そんな相手の意図まで、相手の都合の良い様に汲み取るべきとか。おかしいだろ
> 俺でも>>623にリンクを貼ると思う
この過疎スレで、なに第三者のふりをしているの?本当に第三者だとして
他人の言い合いなんかにわざわざ首を突っ込んできているんだ。へぇー(棒)
649:デフォルトの名無しさん
16/03/14 11:28:40.42 +5uiuB8z.net
こういう言い合いになると最後にレスしたほうが勝ちだと思ってる奴多いけど
実際のところ最後になった奴が一番惨めだよな
どうだ言い返してやったぞ、今度は何言ってくるんだ言えるものなら言ってみろよと
wkwkしながらスレリロードしてるのに、誰からもレス付かないまま立ち消えていくのは
勝利とはほど遠い虚しさで不憫きわまりない
650:デフォルトの名無しさん
16/03/14 12:26:39.42 OwtYwpEx.net
いい加減スレチ
言い合いは他所でやれ
651:デフォルトの名無しさん
16/03/14 16:31:18.59 CkOIJo3B.net
visual studioの検索置換で正規表現使うと、なんか動きがおかしい時ないですか?
652:デフォルトの名無しさん
16/03/15 07:11:42.49 bcM3RviG.net
自演乙
653:デフォルトの名無しさん
16/03/19 22:11:37.95 DRR7a7MQ.net
●Regular Expressionの使用環境 → 無料のテキストエディタ、または秀丸
●検索か置換か?→ 検索
●説明
①行頭が数字で始まらない、Aを含む行だけ検索したい。
②行頭が数字で始まらない、行末にAが来る行だけ検索したい。
●対象データ
123 fooA
foobarA foobar
548 fooA
foobarA foobarA
●希望する結果
①
foobarA foobar
foobarA foobarA
②
foobarA foobarA
よろしくお願いします。
654:デフォルトの名無しさん
16/03/19 23:44:13.39 8UZGwfqY.net
>>641
^[^\d].*A.*$
^[^\d].*A$
655:デフォルトの名無しさん
16/03/20 00:17:07.16 6E3rfl+p.net
thx
656:デフォルトの名無しさん
16/03/20 01:10:35.08 dD/6nOCQ.net
>>636
悪くはないかもしれないが、どうしても一言言わずにゃおれなかったっていうみえみえの心理状態だな
657:デフォルトの名無しさん
16/03/20 04:18:17.30 P2wGuxR2.net
>>642
ありがとうございます。
658:デフォルトの名無しさん
16/03/20 07:03:52.63 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:デフォルトの名無しさん
16/03/20 08:42:50.38 4Rc5hh5g.net
>>644
普通レスを返すだろ
>>640 では、気を使って抑え気味にしてやったのに、まだ言うかw
「こんなレスはつけずに無視してれば良かった」のは、まさにお前の様な奴に投げかけられる言葉
こんな >>624 >>626 >>628 例をあげて恥ずかしくないの?
こんな >>637-639 みっともない自演をしておいて、恥ずかしくないの?
660:デフォルトの名無しさん
16/03/20 11:16:00.38 zSHF45+D.net
>>646
<div>.*?</div>
661:デフォルトの名無しさん
16/03/20 12:04:54.80 BKY+bqXr.net
>>648
ありがとうございました。
662:デフォルトの名無しさん
16/03/20 20:07:22.01 tOEh7O6K.net
>>605
それPEG使ったほうがいい。最近勉強したけど楽しい。
構文解析って名前ほどおっかなくないよ
663:デフォルトの名無しさん
16/03/21 13:05:37.99 NsIeGKek.net
>>650
普通にパーサー使って
xpathで//div/@idかcssセレクタでdiv[id]でよくね
664:デフォルトの名無しさん
16/03/31 16:52:39.49 LLptTgcg.net
正規表現の文字クラスで質問です。例えば
[0-9]は数字を表しますよね。また、\dも数字ですよね。
\dを[]内で使って[\da-z]で数字と小文字のa-zとかってありなんでしょうか??
縦棒を使って
(\d|[a-z])でやれば明白ですが。
665:デフォルトの名無しさん
16/03/31 17:03:53.30 LLptTgcg.net
お騒がせしました。[\d]はありっぽいですね。
666:デフォルトの名無しさん
16/04/03 00:37:59.69 wkb28L2F.net
>>647
>>625での主張は「俺は知ってるぜ」
これだけを言いたいがための発言
667:デフォルトの名無しさん
16/04/03 19:57:17.70 tpyVZV/3.net
>>654
>>654での主張は「全て論破されていて悔しいです」
これだけを言いたいがための発言
668:デフォルトの名無しさん
16/04/04 00:17:04.24 TBgct8lK.net
>>625のいけないところは
素直に知ってたよって言えば誰も噛み付かなかったのに、プライドが邪魔したのかひねくれた言い方をした点
669:デフォルトの名無しさん
16/04/04 01:37:22.43 TBgct8lK.net
>>655
勝ち負けを言えば、>>647を書かせた時点で決着してる
相手を全部同一視して粗探しするその品性の悪さを引き出したって点でね
それに、喩えると
交通違反して注意された相手に向かって、みんなやってることだとかお前だってやってた
って言っても自分のしたこととは関係ないことであり論理的に意味がない
670:デフォルトの名無しさん
16/04/04 21:25:02.74 im7Mb0Qo.net
品性の悪さを引き出した -> 勝ち
この論理性の無さ...
それに加えて、無意味な喩え話...
ある程度、会話が通じる人かと思っていたのだが
残念だ。残念な知性だな
正規表現の実例についてもつくづくそう思うが
もう少し考えてから書き込んでみたらどうか?
671:デフォルトの名無しさん
16/04/04 21:26:10.86 im7Mb0Qo.net
勝ち負けと品性が直接の関係は無いが、品性の悪さについて
品性の悪さって、自演をした人が言える事なのか?
たとえ自演がなくとも、
何度も同程度の発言を、そちらからもしている事に気付かないのかな?
>>631の嫌味っぽい口ぶりや、>>634の「解説をば」みたいな上からの物言い
>>634最後の一行では、無意味なただの悪口
そして決定的なのは、自演をしていた事。これについては、同程度どころでは無い
これらは、品性の悪さに該当しないと思っているのか?
672:デフォルトの名無しさん
16/04/06 09:00:13.83 2zN0IQcS.net
ワラタw
まさにどちらが最後まで醜態を晒し続けるかの勝負だな
いいぞもっとやれ
673:デフォルトの名無しさん
16/04/06 10:46:43.24 xAgh0Pyq.net
JAPANXXX
JAPANYYY
JAPANZZZ
上のような文字列のうち最後のJAPANZZZの部分を取りたいです
XXX YYY ZZZの部分は3文字からなる大文字になっていて
もちろんJAPANZZZで文字列が終わっているわけではありません
今はJAPAN([A-Z]{3})で全て取得したのをリストに入れて
リストの一番最後の要素を取り出すという手法で対応していますが
正規表現1つで出来たりしませんか?
674:デフォルトの名無しさん
16/04/06 12:52:05.84 BFsTf7eA.net
先読み・後読みなどで、出来ない?
675:デフォルトの名無しさん
16/04/06 13:15:18.35 RIb7jbh2.net
どうなの
676:デフォルトの名無しさん
16/04/06 13:17:07.81 xwA6Cy1b.net
キャプチャで最後に残った値
677:デフォルトの名無しさん
16/04/06 13:17:59.59 RIb7jbh2.net
(・∀・)
678:デフォルトの名無しさん
16/04/06 14:05:37.34 q1HrDxSz.net
俺だったら"JAPAN"でsplitして三番目を取る
679:デフォルトの名無しさん
16/04/06 17:09:53.06 Ek6gxOxq.net
(?:^JAPAN[A-Z]{3}\n)*(^JAPAN[A-Z]{3})(?:\n|\z)
680:デフォルトの名無しさん
16/04/07 16:14:06.36 CD0MGG23.net
perl -0777 -ne '/.*JAPAN([A-Z]{3})/s and print( $1)'
みたいなこと?
681:647
16/04/07 16:34:11.93 EyxL+HBb.net
皆様レスどうもありがとうございました
>>668
これでバッチリです
ちょっと$0はカオスなことになりますが
なるほどなーって思いました
本当ありがとうございました!
682:デフォルトの名無しさん
16/05/01 11:29:16.87 tKi6j9CT.net
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
URLリンク(twitter.com)
ちなみにオイラは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:デフォルトの名無しさん
16/05/04 09:53:54.35 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:デフォルトの名無しさん
16/05/04 10:33:36.14 kVGM/VsN.net
できません
685:デフォルトの名無しさん
16/05/04 11:00:55.09 S+T3H7rB.net
>>671
一度一致した文字列の複数回出現や繰り返しは、「後方参照」で表現できる
^\d{4}\.\d{2}.\d{2} \d{2}:\d{2}:\d{2} ([.0-9]+) \1 \1 \1 0$
686:657
16/05/04 15:43:24.43 Z8i1J0Td.net
>>673
ありがとうございました
687:デフォルトの名無しさん
16/05/05 14:54:42.43 jemhh2fV.net
すんませんわけわかんなくなってきた
「1回以上の abcdefg いずれ�
688:ゥの文字の繰り返し、ただし ccd+cc を含まない」 例えば abcd 、 ffgabc 、 bbbbbbbbbbbbbdddddbbbbbbb にはヒットし abcdffgabcbbbbbbbbbbbbbdddddbccdddddddddccbbbbbb をかけると abcdffgabcbbbbbbbbbbbbbdddddb (と bbbbbb )を得られる正規表現 どうやって作ったら良いんでしょうか
689:デフォルトの名無しさん
16/05/05 15:07:34.77 /qWvSKFr.net
できません
690:デフォルトの名無しさん
16/05/05 15:08:33.46 WWv6suKc.net
>>675
例が悪い。
もう少し簡潔な例をたのむ
691:デフォルトの名無しさん
16/05/05 15:44:38.89 jemhh2fV.net
>>677
混乱しててマジすまん。要は>>8の文字列じゃなくてパターンな版なんだと思う
「fuck you hageatama atodekorosuwaboke」からアルファベットのみで構成されるものを取り出したい、
ただしatではじまり間にaを含まずaで終わる範囲は無視させたい
この場合は【fuck、you、hage、ma、boke】を抜き出したい
わずかでもわかりやすくなっただろうか
692:デフォルトの名無しさん
16/05/05 17:02:33.50 Vl8awOB0.net
perl -ne 's/at.*?a/ /g ; while ( /([a-z]+)/g ){ print("$1\n") }'
みたいなこと?
693:デフォルトの名無しさん
16/05/05 17:04:50.71 Vl8awOB0.net
ごめん、
perl -ne 's/at[a-z]*?a/ /g ; while ( /([a-z]+)/g ){ print("$1\n") }'
の方が適切か?
694:デフォルトの名無しさん
16/05/05 17:21:59.07 jemhh2fV.net
そうそう本当まさにそんな感じ
ちょっと面倒な置換処理だから前後逆になるけど今はそうやって2回かけて処理させてる
695:デフォルトの名無しさん
16/05/06 06:53:01.39 x6pgYKN7.net
置換無しでやりたいならできなくもないが……
perl -ne 'print("$_\n") foreach grep { defined } /at[a-z]*?a|((?:(?!at[a-z]*?a)[a-z])+)/g'
あまりおすすめする気にはならない。
696:デフォルトの名無しさん
16/05/06 07:23:44.50 x6pgYKN7.net
これの方がいいかな……
perl -ne 'print("$_\n") foreach map { /([a-z]+)/g } /\G(.*?)at[a-z]*?a/cg , /\G(.*)/'
697:デフォルトの名無しさん
16/05/08 17:29:17.30 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:デフォルトの名無しさん
16/05/08 22:30:43.49 F7OZ3lhh.net
ある関数の第一引数の中身Aだけをとるような正規表現を書いているのですが上手く書けません。
サクラエディタのgrepで試しています。
本文:
func('A','B','C')
正規表現(funcから第一引数のシングルクォーテーションまでひっかかってしまう)
func\('.+?'
699:デフォルトの名無しさん
16/05/08 22:53:57.63 Se7Rfius.net
>>685 こういうのじゃなくて?前段(?<=look-behind)に可変長使えないけど
(?<=func\(').+?(?=')
700:デフォルトの名無しさん
16/05/08 23:12:33.60 F7OZ3lhh.net
関数の前の文は可変長でなく、行頭固定になっています。
↑こういうことでいいのでしょうか??
結果として「A」が欲しいのですが、
「array('A'」が返ってきます。
抽出には2つぐらい側面があると思います。
�
701:P.関数の構文を抽出 2.第一引数を抽出(囲み文字除去) これを一度にできるのかよくわかっていません。 最低限の情報「func('A'」は取れているので、 ここから整形していくのでも事足りますが。
702:デフォルトの名無しさん
16/05/08 23:33:47.20 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:デフォルトの名無しさん
16/05/08 23:40:40.22 Se7Rfius.net
フォルダ名誤魔化せてねえw酔っ払いは寝ますw
704:デフォルトの名無しさん
16/05/08 23:41:37.38 F7OZ3lhh.net
>>688
ありがとうございます。取れました!
たまに正規表現使うけど、毎回つまづきます。
ドリルみたいなのやろうかなぁ。
705:デフォルトの名無しさん
16/05/08 23:50:09.70 Se7Rfius.net
あ、よかったよかったw
sakuraでも出来るけど、vimのインクリメンタルサーチ(キーボードコマンド / )が
即反応すっから楽よ(vimrcに :set hlsearch incsearch)。windowsならkaoriyaさん行けばなんとかなるっしょ。
706:デフォルトの名無しさん
16/05/09 00:25:28.10 d1XxHLWY.net
はい、試してみます!
vim使えるとかっちょいいですよね。
707:デフォルトの名無しさん
16/05/10 14:28:46.48 vqaogAj1.net
[]や|で条件を書き並べる場合って頻出するものほど左側に書いたほうがいいのでしょうか?
左から順に調べてるようならその方がいいかなと思ったのですが
708:デフォルトの名無しさん
16/05/10 16:04:02.58 eU8B0sOX.net
Perl で (pat1|pat2) という書き方をした場合は pat1 にマッチしたら pat2 は試行されない。
perl -e 'print("abcde" =~ /(c.|.de)/ )'
だからマッチさせたい順に書く必要がある。
文字クラスの場合は「そこに書いてあるすべての文字」に含まれるか(あるいは含まれないか)だから順序は関係ない。
処理系の実装の仕方によっては速度に影響するかもしれないが心配するほどの事はないだろう。
Perl じゃないなら違うルールがあるかもしれない。マニュアルに書いてあるかもしれないし明確には書いてないかもしれない。
709:デフォルトの名無しさん
16/05/10 16:26:20.31 eU8B0sOX.net
(pat1|pat2) と書いたときの pat1 と pat2 が排他的にしかマッチしないと判ってるなら
頻出するものほど先に試行されるように書けば速くなる可能性はある。
でもそれが「左から順に」なのかどうか…少なくとも Perl はそうだし大抵そうだとは思うけど……
710:デフォルトの名無しさん
16/05/10 16:49:53.11 eU8B0sOX.net
もしかしてだけど、flex とかを使ってるなら、頻出する順かどうかはあまり関係ないことになる。
これはパターンを DFA にコンパイルしているからで、grep も可能な場合はそうしているらしい。
おそらくあなたはそんなややこしいことを知りたかったわけではないでしょう。本当に申し訳ありません。
でも結局の所、あなたが何を使っているのか判らないので明確には言えないのです。
711:デフォルトの名無しさん
16/05/10 16:54:06.71 1NI6zfsZ.net
速度は実測が基本
712:デフォルトの名無しさん
16/05/10 23:01:59.50 4a+25nqa.net
DFA型は原理的に最長一致になる
たとえばAWKはそのパターン
713: NFA(VM)型はそうではない Perlなど
714:デフォルトの名無しさん
16/05/13 17:17:28.22 +WUK7FN+.net
ここに書いてある正規表現はどう書けばいいでしょうか?
スレリンク(software板:10番)
715:デフォルトの名無しさん
16/05/13 17:34:44.27 +WUK7FN+.net
と実体参照で空白文字が保存されていました
ありがとうございました
716:デフォルトの名無しさん
16/05/13 17:35:05.24 +WUK7FN+.net
&#32;と実体参照で空白文字が保存されていました
ありがとうございました
717:デフォルトの名無しさん
16/05/30 21:09:44.20 IB3IbmGC.net
ソフトウェア板のwhitebrowserスレで質問しましたが人がいないようなので
ここで質問させてください。
<div class="aaa"></div>
<div class="bbb">
<p class="ccc">文字列komento
<div class="ddd">文字列<A href="URLリンク(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:デフォルトの名無しさん
16/05/30 21:36:52.13 6l/rGwyM.net
>>702
改行(\n)は (.*) ではキャプチャできない
[\s\S]* とか [.\r\n]* とか
719:デフォルトの名無しさん
16/05/30 21:39:28.59 6l/rGwyM.net
よく読んでなかった
[\s\S]+?でダメだったのか
720:デフォルトの名無しさん
16/05/30 21:55:01.60 NPHl4wm3.net
lineという変数名から推測するに、元々この変数に
一行分の文字列しか入ってないとか? もしそうなら
dddの方のdivはないのでマッチしないだろうな。
721:688
16/05/30 22:52:36.47 IB3IbmGC.net
お答えありがとうございます
>>703
だめです
>>704
だめでした
>>705
まったく初心者でプログラムわからない状態で人がつくったものを改造してるので
もっとがんばってみます
上のほうにネストはParser使えとか書いてありましたがこれは違うのでしょうか
if(line.match(/<div class="ddd">(.+)/)){
komento = RegExp.$1.strip();
continue;
}
こうやると 文字列<A href="URLリンク(eee) >文字列</A>文字列</DIV></DIV> これはものすごいヒットするんですが
/<p class="ccc">(.+)/ だとぜんぜんだめで/<p class="c(.+)/ こうやると cc"> とヒットします
</p>が省略されてると無理なんでしょうか
722:デフォルトの名無しさん
16/05/30 23:10:10.83 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:デフォルトの名無しさん
16/05/30 23:14:45.25 7kwM1x1R.net
regexp
724:デフォルトの名無しさん
16/05/31 00:35:17.36 Fu4PLM5v.net
.split('\n')で各行を分離して配列に格納してるんだぜ
これが解からないのなら改造はまだ早いんじゃないか
725:デフォルトの名無しさん
16/05/31 03:14:16.76 Dv/sZKtx.net
>>709
ありがとうございます
なるほどそういうことか
726:デフォルトの名無しさん
16/06/03 16:43:00.18 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:デフォルトの名無しさん
16/06/03 16:52:28.32 oVxvX7jc.net
>>711
そういうのはパーサつかってxpathやcssセレクタで指定するといいよ
728:デフォルトの名無しさん
16/06/03 17:13:46.63 omAy1yMo.net
>>712
秀丸エディタをDLして、正規表現をググったのが1時間くらい前の自分にはもう手に負えないですね
とても経験値が足りない・・・大人しく手作業に戻ります
レスありがとうございましたorz
729:デフォルトの名無しさん
16/06/03 18:13:59.18 1QnvZmyp.net
オンデマンド
730:デフォルトの名無しさん
16/06/03 18:22:31.49 IHHtpHf1.net
秀丸より「複数行置換」っていうソフトならとっつきやすいかもしれない
正規表現でなくともお望みの作業が捗る可能性があると思う
731:デフォルトの名無しさん
16/06/03 18:49:20.79 534uxXCy.net
もう少し条件を明確にしてほしい。
単に script,script,script,link の順に現れた時に削除したいなら特に難しくは無い。
perl -0777 -pe 's%(?:(?><script.*?>.*?</script>)\s*){3}<link.*?>%%'
ただ、タグの終わり以外で > があったらとかそういうことを考えるとちゃんとパーサを使った方がいい。
そうでなくても、属性値が関係あるなら多分、パーサを使う方が楽。
732:デフォルトの名無しさん
16/06/03 19:31:31.26 omAy1yMo.net
>>715
早速試してきましたが、範囲を決める表現が出来ずやはりダメでした
ソフトが多く出てるのでもっと気軽に出来るかと思ったんですがやはり難しいですねOrz
733:デフォルトの名無しさん
16/06/03 19:40:07.02 omAy1yMo.net
>>716
複数のhtmlファイルがあり、それぞれの中に
URLリンク(i.imgur.com)
この段落があり、これを楽に削除したいんです
これが長く、中の文字列がそれぞれ異なっているんです
734:デフォルトの名無しさん
16/06/03 19:43:03.37 omAy1yMo.net
パーサってのをググってみたが、素人の毛みたいな自分にはとても手が出せないとだけよくわかりました
自分では楽に出来ないというのがわかっただけでも少しすっきりしました
_| ̄|○ 構ってくれてありでした
残り65ファイル・・・がんばるぞ(´Д`)
735:デフォルトの名無しさん
16/06/03 20:15:24.35 VlhAlbVL.net
orz
736:デフォルトの名無しさん
16/06/03 20:15:55.42 VlhAlbVL.net
orz
737:デフォルトの名無しさん
16/06/03 20:18:33.85 VlhAlbVL.net
hy
738:デフォルトの名無しさん
16/06/03 20:29:12.24 lvHDuhOW.net
素人に毛が生えたとは言うけど毛の部分かよw
739:デフォルトの名無しさん
16/06/03 21:47:07.35 534uxXCy.net
そんなにたくさんあるなら……というか、なぜそんなことになってるのかも気になりますが、
諦めるにはまだ早いように思いますよ。
手作業でできるなら、その部分を見分けているということでしょう?
見分けることができるならそれをプログラムにすればいいんです。
あるいは逆転の発想で、残す部分を特定してそれ以外を削除するという方法もあります。
740:デフォルトの名無しさん
16/06/04 00:15:52.08 3lsMjWzh.net
正規表現でも、複数行マッチはできる
マッチする始まりと終わりを、明確に定義して
始まりは、
<script
終わりは何?
そして、最短・最長マッチのどちら?
741:デフォルトの名無しさん
16/06/04 00:48:33.64 Ps50QdLu.net
>>725
多分そんな簡単なものじゃないだろう
複数のhtmlで全部記述が違うらしい
<script src=~ />は広告らしきものwidgets.js等が含まれるものをチェックか?
<script type=~や<link type=~の方は何だろう
analytics.jsやarchive_ana、banner-styles.css等の広告らしこものを含むってことかな?
どれくらいhtmlファイルがあるのかにもよるけど、
俺なら、20個程度までならキーワード検索して手動で置換していくことを選ぶな
742:デフォルトの名無しさん
16/06/05 13:37:52.64 j94Yoh41.net
スクレイピングでググると幸せになれるかもね。
ブラウザに読み込んで jQuery 辺りでやってもいいけど。
743:デフォルトの名無しさん
16/06/05 14:14:35.14 iA3zFnyd.net
うむ
744:デフォルトの名無しさん
16/06/12 03:31:34.52 73Qykobl.net
d12.IDやd34asd.Q23のようにdhogehoge.hugaをIDやQ23のようにhugaのみにしたいときは
どのように書けば引っかかってくれるでしょうか。
d*.のように書きましたがダメでした。
745:デフォルトの名無しさん
16/06/12 07:27:48.72 zd4DMI3N.net
* はグロブ・正規表現で、異なる意味
グロブでは、0文字以上の任意の文字列
正規表現では、直前の文字が0個以上。
.* は、0文字以上の任意の文字列
746:デフォルトの名無しさん
16/06/13 09:02:38.16 IO7ImC7y.net
d.*?\.
747:デフォルトの名無しさん
16/06/13 09:13:51.82 trc3/qjd.net
横㌧
748:デフォルトの名無しさん
16/06/13 23:35:01.47 Jxar6H6t.net
>>731
>>730
無事出来ました。ありがとうございます。
749:デフォルトの名無しさん
16/06/14 20:43:13.97 JpAU7CI1.net
ぐぐってもちんぷんかんぷんでしたので助けてください!!1!1
複数桁の数字(桁数は2~8桁)
ここにあれこれ
ここに書き換えたい文字列
という書式の場合で複数桁の数字が10未満(以下でもかまわない)ならx、
11以上20未満(以下でもry)ならy、21以上30未満(ry)ならzという具合に三行目の部分を一行目の数字に応じて書き換えたいです
ソフトは複数行置換?というのを使おうと思っています!!へぷるみー!!!
750:デフォルトの名無しさん
16/06/14 21:07:54.45 MJXh41jF.net
テンプレ使って書き直せ
751:デフォルトの名無しさん
16/06/15 09:03:40.70 UhMCD/nz.net
とりあえず自分の言いたい事を整理する事と日本語の勉強から始めろ
752:デフォルトの名無しさん
16/06/15 09:15:50.44 5nGrgvW4.net
何を言ってるんだか
753:デフォルトの名無しさん
16/06/15 09:34:23.84 mJGEUiRz.net
どう考えても正規表現よりスクリプト書いたほうが早い案件
754:デフォルトの名無しさん
16/06/15 09:51:44.41 YIat+Pjl.net
すみません!!720ですが自決しました!!!
ありがとうございました!!!
755:デフォルトの名無しさん
16/06/15 09:59:41.38 zRCZ15a1.net
じけつ [自決]
1.自分の意志で態度・行動などを決めること。
2.責任をとって自殺すること。自裁。
756:デフォルトの名無しさん
16/06/15 13:11:46.34 ltaRG/Ox.net
>>739は2だろうね
757:デフォルトの名無しさん
16/06/15 13:27:37.45 nv7wJLuk.net
>>739
生きろ!
758:デフォルトの名無しさん
16/06/15 15:20:34.12 gZwGLfL5.net
正規表現2.0を作って、区切り文字で複数表現可能、否定表現あり、文字コード指定可能に
拡張する動きはないのだろうか
759:デフォルトの名無しさん
16/06/17 06:39:43.91 /w4sLl17.net
●Regular Expressionの使用環境
鬼車系のbregonig.dll 3.06対応テキストエディタ
●検索か置換か?
置換
●説明
前でマッチした文字列と同じ文字列が後ろで出てきたら、
その間の文字を区切り文字カンマに置換したい
●対象データ
hogefugahoge
イチロー林イチロ
●希望する結果
hoge,hoge
イチロ,イチロ
実際の対象データは改行を跨ぐこともあるのですが、
それだとbregonig.dll対応テキストエディタでメジャーなサクラエディタで
動作確認できないので、
サンプルデータは改行を跨がないものにしました。
宜しくお願いします。
760:デフォルトの名無しさん
16/06/17 07:13:49.91 8ETU/t+F.net
(´・ω・`)
761:デフォルトの名無しさん
16/06/17 07:18:02.69 vEeDcLaa.net
.
762:デフォルトの名無しさん
16/06/17 07:51:45.05 Q79nDsuO.net
(.{2,})(.+?)\1
$1,$1
このサンプルデータだけなら動確サクラエディタ
763:デフォルトの名無しさん
16/06/17 08:01:19.73 izLNj4Mm.net
肯定・否定の先読み・後読みで、できないか?
764:デフォルトの名無しさん
16/06/17 11:52:55.98 MU7aCzOf.net
マ イ ン ド コ ン ト ロ ー ル の手法
・沢山の人が、偏った意見を一貫して支持する
偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法
・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法
偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い
靖 国 参 拝、皇 族、国 旗 国 歌、神 社 神 道を嫌う カ ル ト
10人に一人は カ ル ト か 外 国 人
「ガ ス ラ イ テ ィ ン グ」 で 検 索 を !
765:デフォルトの名無しさん
16/06/17 19:34:05.50 yged7CRH.net
皆さんは肯定、否定、先読み、後読みの記号をどういう風に覚えているの?
何度覚えても忘れるんです。
766:デフォルトの名無しさん
16/06/17 19:45:29.03 BW6jIpWJ.net
使ってりゃ覚えるだろ
767:デフォルトの名無しさん
16/06/17 20:14:27.15 2jKkT25y.net
そらそうだ
768:デフォルトの名無しさん
16/06/17 21:42:53.66 pDomqkOe.net
あるAndroidアプリで、任意の2つの文字列が、下記のようにセットされているのですが、この真ん中のダブルコロンをイコールで挟む意味が解りませんでした
そもそも正規表現でしょうか?
文字列あいう=:=文字列かきく
769:デフォルトの名無しさん
16/06/18 00:00:12.34 TDIsYK64.net
ねづっちがなんだって?
770:デフォルトの名無しさん
16/06/18 01:59:37.22 q51kEhx9.net
<=>
これは、宇宙船
771:デフォルトの名無しさん
16/06/18 15:01:36.56 AGMP56Qn.net
>>750
加法定理とか倍角の公式とか
和積公式積和公式全部言えるか?
772:デフォルトの名無しさん
16/06/20 23:56:45.49 2ch+sFRM.net
mateで絵文字を正規表現で全部ひっかけたいんだけどシステム屋さん当該の正規表現おせーて
773:デフォルトの名無しさん
16/06/23 18:19:47.68 9ARC/f7H.net
[+-0-9.]
と書いた場合
+
-
0~9
小数点 .
のどれか一文字と言う意味になりますか?
マイナス記号が0-9なら範囲を表すのに
+-0
の部分では範囲と間違った解釈される心配は無いのですか?
774:デフォルトの名無しさん
16/06/23 18:21:44.72 E1t+8hag.net
めっちゃあるよ
775:デフォルトの名無しさん
16/06/23 18:22:27.67 O6DvkpvP.net
気になるならこれで
[+\-0-9.]
776:デフォルトの名無しさん
16/06/23 18:23:14.87 O6DvkpvP.net
>小数点 .
>のどれか一文字と言う意味になりますか?
ここは小数点のみを期待するなら \. と書く必要があるんじゃね
777:デフォルトの名無しさん
16/06/23 18:40:42.16 Aga9lXuQ.net
[]の中じゃ、 '.' や'*'はメタ文字じゃなくて文字の'.','*'を意味する
他にも '^'は先頭に記述したときのみ否定というメタ文字になるが途中だと'^'という文字を表す
'-'は先頭に書いたときには\でエスケープしなくてもいいが推奨は必ず\でエスケープすること
778:デフォルトの名無しさん
16/06/23 18:49:12.90 QqtwN9tu.net
小数点なら \,\d とかにしないと
779:デフォルトの名無しさん
16/06/23 18:59:53.50 kXV5qe3k.net
[]内では.や+はメタ文字ではなくただそのままの文字
-は文字の間にある場合だけ文字コードの範囲を表す
だから[-+0-9.]や[+0-9.-]なら望み通り
780:デフォルトの名無しさん
16/06/23 22:21:43.36 Q9+hvKHV.net
確かに、固定されて絶対変わらない保証があるなら仕様に従い-をそのまま書ける状況もあるけど
可読性なんかを考えたらエスケープしてやるのが確実だと思うわ
781:デフォルトの名無しさん
16/06/23 22:48:52.41 kXV5qe3k.net
そうだね
特に会社とか複数の人がメンテナンスに携わる環境ではむしろ積極的に\を付ける事になってたりする
782:デフォルトの名無しさん
16/06/24 11:12:00.03 QDx4C0nH.net
付けなくていい場所に付けるのは可読性を損なうしメンテナンス性も悪化する
783:デフォルトの名無しさん
16/06/24 11:39:01.26 +GusP/54.net
人それぞれなもんだね
784:デフォルトの名無しさん
16/06/24 16:15:54.83 35cWfWGi.net
他のは\付けないけど-だけは付けるようにしてる
785:デフォルトの名無しさん
16/06/24 22:35:52.86 tRHi5MPl.net
[\]ではなくて[\\]が正しいですか?
786:デフォルトの名無しさん
16/06/24 23:02:08.35 +GusP/54.net
[\]だと\は\]で消費されて閉じの]が無くなる
787:デフォルトの名無しさん
16/06/25 01:01:10.18 FsDaEVc+.net
\はエスケープのメタ文字なので、文字の\を表すには\を\でエスケープする必要がある
つまり\\
788:デフォルトの名無しさん
16/06/25 20:32:26.47 6chkZTSI.net
>>753
コロンでした済みません
:=(コロンイコール)で代入演算子までは分かったんですが
動作的には、正規表現|のようでした
条件A=:=条件B
789:デフォルトの名無しさん
16/06/26 04:27:16.34 0bHamb0Z.net
>>773
URLリンク(doc.perl6.org)
これじゃないの?
とりあえず、スレ違いだから他所で聞き直したほうがいい
790:デフォルトの名無しさん
16/06/26 12:19:10.23 0pF/e0UG.net
今度は「Regrexit」、EU離脱を「後悔」
URLリンク(www.cnn.co.jp)
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:デフォルトの名無しさん
16/06/26 23:30:24.64 I/qBn3J5.net
>>774
コンテナ演算子?初めて聞きました
他で伺ってみたいと思います
ありがとうございました
792:デフォルトの名無しさん
16/06/27 00:14:08.67 ywseg4PN.net
cv
793:デフォルトの名無しさん
16/06/29 15:19:08.79 jeflfaNJ.net
bash 4.2.46
grep 2.20 です。
以下のように文字列中の大かっこにパターンマッチしたいんですが、
なぜマッチしないのかわかりません。
$string="[string"
echo $string | grep [\[\]] <-マッチしない
echo $string | grep [\]\[] <-[と]を逆にするとマッチする
794:デフォルトの名無しさん
16/06/29 16:19:59.57 Hg0Bm2HH.net
シェルでも、*, \ などは、メタ文字だから、
grep では、" " で囲まないと、grepよりも先に、シェルが解釈してしまうのかな?
grep "[\[\]]"
bash -ivx オプションを付けて、
grep [\[\]] が、どう展開されるのか見てみ
795:デフォルトの名無しさん
16/06/29 16:46:07.08 jeflfaNJ.net
ダブルクオートでくくると、マッチしていた[\]\[]もマッチしなくなりました。
ivhをつけてみると、grep [[]]と grep [][] と表示されました。
正規表現の[] のなかで、「[」や「]」自身にマッチさせるのはなんか特殊
な方法がいるんでしょうか?
796:デフォルトの名無しさん
16/06/29 16:50:20.39 jeflfaNJ.net
あ、マニュアルを見たら以下のように書いてありました。
リテラル ] を含めるには、この文字をリストの先頭に
置いてください
だから[[]]はだめで、[][]はOKなんですね。
797:デフォルトの名無しさん
16/06/29 17:08:24.12 Hg0Bm2HH.net
var re1 = /[\[\]]/;
var re2 = /[\]\[]/;
var str = "[str";
console.log(str.match(re1));
console.log(str.match(re2));
JavaScriptだと、どちらも、1文字目の、[ で一致する
名前欄に、764と入れて投稿して