板検索:
Regular Expression(正規表現) Part13 (1014)
まとめビュー
1
デフォルトの名無しさん [sageteoff]   投稿日:2014/11/05 10:12:55  ID:CXVoT6Mj.net
Regular Expressionスレです。

質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。

前スレ
Regular Expression(正規表現) Part12


天ぷら等2以降
コメント9件


2
デフォルトの名無しさん[]   投稿日:2014/11/05 10:16:26  ID:wAx7C+BC.net(3)
スルーされにくい質問のテンプレと例

●Regular Expressionの使用環境
Java1.5

●検索か置換か?
検索

●説明
各行の1番目のAまでを検索したい

●対象データ
ABCA
BCAA
CABA

●希望する結果
ABCA
^
BCAA
^^^
CABA
^^

※ ^ はアンダーラインだそうな ^^;
コメント9件

3
デフォルトの名無しさん[sage]   投稿日:2014/11/05 10:20:13  ID:wAx7C+BC.net(3)
◆関連サイト
正規表現メモ
http://www.kt.rim.or.jp/~kbk/regex/regex.html
Perl正規表現雑技
http://www.din.or.jp/~ohzaki/regex.htm
Regular Expression(Riue ちゃんの正規表現講座)
http://www.sixnine.net/regexp/
正規表現パズル
http://www.geocities.jp/oraclesqlpuzzle/regex/
詳説 正規表現
http://www.oreilly.co.jp/books/9784873113593/
正規表現プログラミングFAQ
http://capslockabcjp.kitunebi.com/faq.html
JScript 正規表現の概説
http://msdn.microsoft.com/ja-jp/library/28hw3sce%28v=VS.80%29.aspx
.NET Framework 正規表現言語要素
http://msdn.microsoft.com/ja-jp/library/az24scfc%28v=vs.80%29.aspx
【 初心者 】 正規表現 【 入門 】 ←閉鎖
http://funcchan.blog16.fc2.com/
クックブック ←追加
鬼車、鬼雲 ←追加
コメント9件

4
デフォルトの名無しさん[sage]   投稿日:2014/11/05 10:23:37  ID:wAx7C+BC.net(3)

5
デフォルトの名無しさん[sage]   投稿日:2014/11/05 10:30:49  ID:J7onoSgD.net
               ノ      ゚.ノヽ  , /}      ...
            ,,イ`"     、-'   `;_' '    ..::::::::::::::...
   ,-、  _.._   (        (,(~ヽ'~     ..:::::::::::::::::::::::
 )'~  レー'  〉   ヽ       i`'}       .:::::::::::::::::::::::
 ~つ     '-ー、  i       | i'     ...:::::::::::::::::::::::
 /       <  /     。/   !  ......:::::::::::::::::::::::::    これは>1乙じゃなくて
/         ~^´     /},-'' ,●::::::::::::::::::::::::::::::::::::
i、        ,i' _,,...,-‐-、/    i  ::::::::  .:::::::::::::
..ゝ        <,,-==、   ,,-,/      .:::::::::::            放射能がうんたら
 )       {~''~>`v-''`ー゙`'~       ..:::::::::                          ........::.
 {        レ_ノ            ..::::::::.                         ......:::::::::
ノ         ''           ..:::::::                        ...::.:...:::::::::
                     .:::::::::                     ...:......:::::::::::: .
                    .:::::::::::.        .....      ..  ..::::::::::::::::::::::::   :::.
                    ::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. ::  ::..
                    .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::    ::.
                    ::::::::::::::::: :::::::::::::::::::::::::::::: :::::
                          .::    ::.  :::

6
デフォルトの名無しさん[sage]   投稿日:2014/11/05 11:13:40  ID:bAAQDAhE.net(3)
鬼車
http://www.geocities.jp/kosako3/oniguruma/index_ja.html
鬼雲
https://github.com/k-takata/Onigmo

Boost.Regex(日本語訳)
http://alpha.sourceforge.jp/devel/boost.regex_ja_1_45_0.pdf

秀丸: 複数行にまたがる検索について
http://homepage2.nifty.com/jr-kun/hidemaru_qa/4_regulr.html#RETURNS

サクラエディタ: 改行
http://d.hatena.ne.jp/myokoym/20101219/1292779058
※ サクラエディタでは複数行に渡る検索・置換は出来ません。

正規表現クックブック
http://www.oreilly.co.jp/books/9784873114507/

せいきなんとか
http://akiba.geocities.jp/hp20140401/
コメント5件

7
デフォルトの名無しさん[]   投稿日:2014/11/05 11:16:30  ID:6PdTuYg9.net
>6
乙GJ

8
デフォルトの名無しさん[sage]   投稿日:2014/11/05 11:32:33  ID:bAAQDAhE.net(3)
[ ある "文字列" を含まない正規表現 ]

▽ 先読みが使える環境

((?!xyz).)* または (?:(?!xyz).)*
後者はカッコによるキャプチャを無効化しています。
1文字以上の繰り返しにしたい場合は * を + に書き換えて下さい。


▽ 先読みが使えない環境

オートマトンの知識が不可欠なため初心者にはまず無理です。
解説サイトですらほとんどがデタラメな作成方法を載せています。
↓正しい作り方はこちら。

xy を含まないものにマッチする正規表現 - Perl正規表現雑技
http://www.din.or.jp/~ohzaki/regex.htm#WithoutXY

xyz を含まないものにマッチする正規表現 - Perl正規表現雑技
http://www.din.or.jp/~ohzaki/regex.htm#WithoutXYZ

↓いろいろな文字列否定

タグの中に "ある文字列" を含まない正規表現
http://akiba.geocities.jp/hp20140401/2014/002.html
コメント1件

9
デフォルトの名無しさん[sage]   投稿日:2014/11/05 19:48:22  ID:bAAQDAhE.net(3)
>6
間違えた。

× ※ サクラエディタでは複数行に渡る検索・置換は出来ません。

○ ※ サクラエディタでは複数行に渡る検索は出来ません。

置換欄に \r\n を入れれば行を増やすことは出来るようだ。
コメント1件

10
デフォルトの名無しさん[sage]   投稿日:2014/11/06 09:13:27  ID:R+FFieFi.net
●Regular Expressionの使用環境
MKEditor or 秀丸Editor

●検索か置換か?
置換

●説明
HTMLファイル(XHTML1.0 Traditional)中の下記条件にあうコメントを画像リンクに変換したい

以下、24、とある部分は最大三桁までの正の整数(1〜350までの数字)で不連続、半角と読み替えてください。

なお数字が3桁に満たない場合はURL部分の場合は0で埋める必要があります。
ex)24->024
alt=""のところはalt="1-24"でもalt="1-024"でもalt="24"でも構いません。
お願いします

●対象データ
<p><!-- 1-24 --></p>

が、HTMLファイル中に多数点在
●希望する結果
<p><a href="https://picasaweb.google.com/lh/photo/CywfGi9h5Rglb16GAkhh8GIVtM1tvezqxIpx...;>
<img src="https://lh3.googleusercontent.com/-ykcoD1uynzU/VFg3lb6lAHI/AAAAAAAAJ4c/80boYt68...;
height="640" width="480" alt="1-24" /></a></p>
*2chの一行あたりの文字数制限の関係で改行ありますが、本当は一切入りません
コメント3件

11
デフォルトの名無しさん[sage]   投稿日:2014/11/06 10:28:08  ID:lWF4wSu7.net
>10
補足
alt=""の置換は出来ればいいや程度で本命はURL文字列ないの置換です。

0埋めが無理な場合は1桁、2桁、3桁の場合で複数回に分けても構いません。

12
デフォルトの名無しさん[sage]   投稿日:2014/11/06 13:27:21  ID:M7g3dHxa.net(2)
…?

<!-- 1-24 -->
からURLをどうやって導出するんだ?

13
デフォルトの名無しさん[sage]   投稿日:2014/11/06 13:52:01  ID:M7g3dHxa.net(2)
URLの末尾のみが変動すると仮定するなら、安直なのは

var base = '<p><a href="https://picasaweb.google.com/(略)"><img src="https://lh3.googleusercontent.com/(略)_[HAGE].JPG" height="640" width="480" alt="$1" /></a></p>';

console.info("<p><!-- 1-1 --></p>".replace(/<p><!-- (\w+-(\d{1})) --><\/p>/, base.replace('[HAGE]', '00$2')));
console.info("<p><!-- 1-22 --></p>".replace(/<p><!-- (\w+-(\d{2})) --><\/p>/, base.replace('[HAGE]', '0$2')));
console.info("<p><!-- 1-333 --></p>".replace(/<p><!-- (\w+-(\d{3})) --><\/p>/, base.replace('[HAGE]', '$2')));

禿丸は持ってないのでJSなのは許せ

14
デフォルトの名無しさん[sage]   投稿日:2014/11/06 16:21:39  ID:VPCdIppO.net
前スレでこの手法で置換してた人がいたね。

1-24

1-0000024

1-\d*(\d{3})(?!\d)

1-$1
コメント2件

15
デフォルトの名無しさん[sage]   投稿日:2014/11/06 21:18:29  ID:R1OkTjAz.net(2)
>10
MKEditorだと正規表現はかなり貧弱な模様なので、マクロかスクリプトでやるべきだよ
例として WSH(JScript)の場合(c:\test.js)
MKEditorのメニュー - ツール - コマンドに、
 コマンドライン: c:\test.js
 パラメータ: %FILENAME%
として登録し実行
ただし、ファイルが外部で書き替わってもMKEditorは認識してくれないので
既存のファイルのみ可能でコマンド実行後、メニュー - ファイル -読み直すことが必要
コメント1件

16
デフォルトの名無しさん[sage]   投稿日:2014/11/06 21:18:55  ID:R1OkTjAz.net(2)
var base = '<p><a href="https://picasaweb.google.com/lh/photo/CywfGi9h5Rglb16GAkhh8GIVtM1tvezqxIpx...;>'
+'<img src="https://lh3.googleusercontent.com/-ykcoD1uynzU/VFg3lb6lAHI/AAAAAAAAJ4c/80boYt68...';
var opt1 = '\.JPG" height="640" width="480" ALT="';
var opt2 = '" /></a></p>';
var re=/<p><!--\s+(\d-(\d{1,3}))\s+--><\/p>/g;

try {repComment(WScript.arguments);} catch(e){WScript.Echo(e.number+" :"+e.message);}

function repComment(arg) {
var n=0,rfile,wfile;
var fs = new ActiveXObject("Scripting.FileSystemObject");
if(arg.length<1) throw new Error(10001,'パラメタ1にファイルパスを指定してください');
if(!fs.FileExists(arg(0))) throw new Error(10002,'指定ファイルがありません('+arg(0)+')');
rfile=fs.OpenTextFile(arg(0),1,true,0);
data=rfile.ReadAll();
data=data.replace(re,function($0,$1,$2){n++;return(base+('00'+$2).slice(-3)+opt1+$1+opt2)});
rfile.Close();
wfile=fs.OpenTextFile(arg(0),2,true,0);
wfile.Write(data);
wfile.Close();
fs = null;
WScript.Echo(n+'個の置換終了');
}

17
デフォルトの名無しさん[sage]   投稿日:2014/11/07 00:10:01  ID:Ac/zCtPZ.net
皆様ありがとうございます。
>10
です。
PicasaのURLをその後しばらく眺めていたところ、末尾以外にも変動するところが複数あり、しかも規則性なし、みたいで凄まじく脱力しております。おのれ、Googleめ。

せっかく多数の解決案をお示し頂きましたのに、私の調査不足でこんなことになりすみませんでした。

が、他に、正規表現で対処出来そうな物があるので、頂いた案を参考に自力で出来るように頑張ります。

MKEditorが複雑な置換に向かないということもご指摘ありがとうございます。

まことに申し訳ありませんでした。

18
デフォルトの名無しさん[sage]   投稿日:2014/11/07 02:31:20  ID:LKxMdqoj.net
>9
WSH/JScriptのマクロなどで全文を取得→JScriptのRegExpとreplaceで処理→本文に反映、という手段は一応ある。
こういうのは何処らへんまでテンプレで説明するべきなんだろうなぁ…
質問(問題解決法の問い合わせ)に対する回答としては十分有効なんだが、テンプレ化すべきかと言われると悩む。

19
デフォルトの名無しさん[sage]   投稿日:2014/11/07 11:43:10  ID:tBFEa1p7.net
>14みたいなテクもね。こういうノウハウをどこかに蓄積しといて
回答するときに「ココ見て」で済むようになると理想的だね。

20
デフォルトの名無しさん[sage]   投稿日:2014/11/08 05:40:38  ID:xC/VOs2P0
>14
sed/awkでも、いったん前処理して単純化してから、
次の処理で完成させるなど、
処理を2つ以上に分けて考えると、間違いが少なくなる

>15
JavaScriptにも正規表現あるもんね
それにJavaScriptの実行環境は、
ブラウザだけじゃなかったんだね

WSHで、JavaScript互換のJScriptを使って、
Windowsの一般のアプリのように使えるのか

21
デフォルトの名無しさん[sage]   投稿日:2014/11/09 12:14:22  ID:YGc4Q6QV.net
●Regular Expressionの使用環境
秀丸Editor

●検索か置換か?
置換

●説明
HTMLファイルの<div>の中にある<br />を半角スペースに置換したい

●対象データ
<html><body>hoge<br />hoge<br />
<div>AAA<br />BBB<br />CCC</div><br />
hoge<br />hoge<br />
<div>DDD<br />EEE<br />FFF</div>
</body></html>

●希望する結果
<html><body>hoge<br />hoge<br />
<div>AAA BBB CCC</div><br />
hoge<br />hoge<br />
<div>DDD EEE FFF</div>
</body></html>
コメント1件

22
デフォルトの名無しさん[sage]   投稿日:2014/11/10 00:28:51  ID:FEGsNsu6.net(2)
秀丸の仕様を調べようとしたらマニュアルが有料だった。
\Gが使えれば一行で書けるけど果たして・・
コメント1件


23
デフォルトの名無しさん[sage]   投稿日:2014/11/10 01:08:32  ID:qr2IepUu.net
>22
ググってみたところhmJre.dllには無さそうだけど
http://www.shuiren.org/chuden/teach/hidemaru/seiki/03.htm
http://hidemaruo.mydns.jp:81/helpsite/hmjre/html/0003_ABOUT_REGULAR.html

bregonig.dllを使うこともできるようだから何とかなるだろう
http://homepage3.nifty.com/k-takata/mysoft/bregonig.html
 2. 動作環境
 秀丸エディタ Ver7.00 + BRegIf.DLL v0,0,2,2
コメント1件

24
デフォルトの名無しさん[sage]   投稿日:2014/11/10 01:35:58  ID:aSJ0dFtw.net
bbq

25
デフォルトの名無しさん[sage]   投稿日:2014/11/10 14:59:48  ID:FEGsNsu6.net(2)
>23
調べてくれてありがとう。鬼車系が使えるなら余裕だ。

>6
テンプレのURLを修正

鬼雲
https://github.com/k-takata/Onigmo/blob/master/doc/RE.ja

26
デフォルトの名無しさん[sage]   投稿日:2014/11/11 01:47:12  ID:vVlDZA0+.net

27
デフォルトの名無しさん[sage]   投稿日:2014/11/11 16:32:51  ID:OuKhhQWg.net
お願いします
.?l.?i.?b.?e.?r.?t.?y.?a.?r.?t.?w.?o.?r.?x.?\.?.?c.?o.?m.?/
なんてどうかと思ったけど凄いアホみたいだし、よく見たらドメインしょっちゅう変えてるみたいだし

●Regular Expressionの使用環境
2chMate
●検索か置換か?
検索
●説明
業者レスを消したい
●対象データ
例)
http://pele.bbspink.com/test/read.cgi/ascii2d/1413607695/200
http://pele.bbspink.com/test/read.cgi/ascii2d/1410920802/652
http://pele.bbspink.com/test/read.cgi/ascii2d/1410920802/645

http://pele.bbspink.com/test/read.cgi/ascii2d/1402236462/576
576 名無したん(;´Д`)ハァハァ sage 2014/11/11(火) 16:17:23.41 ID:EYXdTvKd
こんな俺でも気づいたら出来た。

もう寂しくないね

一足早い、自分への冬のボーナスだな

libertyartw☆orx.c☆om/spggo5/1111.jpg

☆ヌキ

28
デフォルトの名無しさん[sage]   投稿日:2014/11/11 17:08:07  ID:+nD4yl+9.net

29
デフォルトの名無しさん[sage]   投稿日:2014/11/11 18:35:52  ID:9wYSIIRx.net(2)
[a-z.]*[☆骨][a-z.]*

☆や骨だけでもNGになってしまうが
少々の誤爆ぐらいなんでもないだろ
コメント1件

30
デフォルトの名無しさん[sage]   投稿日:2014/11/11 18:38:46  ID:9wYSIIRx.net(2)
「☆取って」とか「☆ヌキ」とかに注目した方がバリエーション少ないかもしれんな

31
デフォルトの名無しさん[sage]   投稿日:2014/11/11 19:45:00  ID:2mNocMnH.net
>28
ちょっと誤爆が怖いです
>29
ありがとうございます。*を+にして様子見ます

32
デフォルトの名無しさん[sage]   投稿日:2014/11/11 22:22:33  ID:ri79zur0.net
でもそれって暫くしたら削除されてるよね?

33
デフォルトの名無しさん[]   投稿日:2014/11/11 22:33:19  ID:le80kSgY.net
先に☆消してしまえばいくね?

34
デフォルトの名無しさん[sage]   投稿日:2014/11/12 07:33:37  ID://gO2nAo.net
健全でない言葉が含まれているため表示しません 内容を確認する

35
デフォルトの名無しさん[sage]   投稿日:2014/11/12 12:59:24  ID:b8dDlQST.net
Jane用の正規表現だけど↓のスレでも似たような文面のマッチングやってるからそれ使えば
http://mattari.plusvip.jp/test/read.cgi/jane2ch/1387830864

36
デフォルトの名無しさん[sage]   投稿日:2014/11/13 04:55:17  ID:7fDObI11.net(3)
秀丸の正規表現 (hmonig.dll) のメモ
http://akiba.geocities.jp/hp20140401/2014/009.html

>21
もういないかな。

(?:<div\b|\G(?!\A))(?:(?!</?div\b|<br\b)\X)*\K<br\b[^>]*>(?#\n\n\n\n\n\n\n\n\n\n)

これでマッチしない場合は \n の数を増やすとマッチするかも。
コメント3件

37
デフォルトの名無しさん[sage]   投稿日:2014/11/13 05:01:04  ID:7fDObI11.net(3)
あ、置換欄は半角スペ1個ね。

38
デフォルトの名無しさん[sage]   投稿日:2014/11/13 09:17:28  ID:GSTkYFB0.net
 

39
デフォルトの名無しさん[sage]   投稿日:2014/11/13 13:18:22  ID:Y2Hw988G.net
>36
\nがみにくい
(?#maxlines:10)でいいだろ
コメント1件

40
デフォルトの名無しさん[sage]   投稿日:2014/11/13 13:59:12  ID:7fDObI11.net(3)
>39
ぶw そんなのがあったのね、指摘ありがとう。

コメントに\nを並べるというアイデアは既にあるだろうとは思ってたけど
作者がこういう形で対応していたとは・・。

41
デフォルトの名無しさん[sage]   投稿日:2014/11/14 00:56:55  ID:UkSSspXB.net(2)
>36
横からすみませんがPHPでどう書くか教えていただけませんか?
コメント1件

42
デフォルトの名無しさん[sage]   投稿日:2014/11/14 01:41:37  ID:1+T9Ha44.net
>41
秀丸特有の問題なのにPHPでの解決法を聞かれてもなぁ…
行跨ぎできないのだとしても、プログラミング言語なら改行消して処理しろで終わりだし。

43
デフォルトの名無しさん[sage]   投稿日:2014/11/14 02:00:41  ID:IxUEtMym.net(4)
そうでなく、1行の正規表現で置換するやり方を知りたいんじゃないかな。

\G ・・・ 文頭、または前回マッチした文字列の直後の位置にマッチする
     前回マッチした文字列のみにマッチさせたい場合、\G(?!\A) と書く。

\K ・・・ これより前にある正規表現にマッチした文字列をマッチ文字列に含めない

\A ・・・ 文頭のみにマッチする。行頭にはマッチしない。

\X ・・・ 改行文字を含む任意の1文字にマッチする。

(?# ) ・・・ (?# この部分はコメントとして無視されます )

\X 以外はPHPでも同じじゃないかな? \X を (?:.|[\r\n]) に書き換えるだけで動くはず。(たぶん)
最後のコメントは秀丸用のおまじないなのでPHPにはいりません。(~-~)b
コメント1件

44
デフォルトの名無しさん[sage]   投稿日:2014/11/14 20:23:32  ID:UkSSspXB.net(2)
>43
おお
ちゃんと動きました!
感謝です
似たような事で詰まってたので非常に助かりました

45
デフォルトの名無しさん[sage]   投稿日:2014/11/14 20:43:12  ID:MnmxP/GB.net
なるほど

46
デフォルトの名無しさん[sage]   投稿日:2014/11/14 20:55:47  ID:DTSyJ1hY.net
d

47
デフォルトの名無しさん[sage]   投稿日:2014/11/14 22:25:06  ID:IxUEtMym.net(4)
(~-~)b

48
デフォルトの名無しさん[sage]   投稿日:2014/11/14 22:33:50  ID:ptj087p2.net
任意の1文字にマッチは普通[\s\S]って書かないか?

49
デフォルトの名無しさん[sage]   投稿日:2014/11/14 22:37:22  ID:IxUEtMym.net(4)
説明めんどうだからああ書いたけどPHPならオプションでピリオドの動作を替えられる。

50
デフォルトの名無しさん[sage]   投稿日:2014/11/14 22:52:08  ID:IxUEtMym.net(4)
>36の正規表現も分かりやすいようにカッコをまとめたりしないように書いた。
やろうと思えばもっと処理の軽い書き方も出来る。

51
デフォルトの名無しさん[sage]   投稿日:2014/12/09 22:48:29  ID:HBMBEtpF.net
あいうabcえお

\<abc\>
がマッチしないのはなぜですか?
コメント3件

52
デフォルトの名無しさん[]   投稿日:2014/12/10 00:25:21  ID:aGgAMtGi.net(2)
うわあ

53
デフォルトの名無しさん[sage]   投稿日:2014/12/10 04:22:10  ID:vJvh8GaS.net
\を使ったエスケープ文字は、特定のものしか使えない

\<,\> こういうエスケープ文字があるかね?
無ければエスケープされずに、<,> と解釈されるだけ

つまり、\<abc\> → <abc>

54
デフォルトの名無しさん[sage]   投稿日:2014/12/10 05:03:04  ID:HaQsk3gz.net
www

55
デフォルトの名無しさん[sage]   投稿日:2014/12/10 05:31:24  ID:7sJsZ3GA.net
わろた

56
デフォルトの名無しさん[sage]   投稿日:2014/12/10 07:49:49  ID:qwB6bqKA.net(2)
>51
[あーお]も単語構成文字と見做す処理系だとマッチしないな。

57
デフォルトの名無しさん[sage]   投稿日:2014/12/10 07:50:17  ID:qwB6bqKA.net(2)
2重書き込みのため表示しません 内容を確認する

58
デフォルトの名無しさん[]   投稿日:2014/12/10 18:29:36  ID:aGgAMtGi.net(2)
>51
[あーお]も単語構成文字と見做す処理系だとマッチしないな。

59
デフォルトの名無しさん[sage]   投稿日:2014/12/10 20:58:37  ID:Lctd7lUm.net
ああおさんウザいっす

60
デフォルトの名無しさん[]   投稿日:2014/12/14 23:54:23  ID:tpBHSSwh.net
_Abc
_Xyz
にはマッチするけど
_ABCにはマッチしない正規表現おしえて
コメント1件

61
デフォルトの名無しさん[sage]   投稿日:2014/12/14 23:58:08  ID:g1m5xeWZ.net
(_Abc|_Xyz)
じゃダメかしらん?

62
デフォルトの名無しさん[sage]   投稿日:2014/12/15 15:37:38  ID:oa6oH0LD.net
>60
lookaheadが使用可能なら「_(?!ABC).+」
でも_ABCDもマッチさせるとかであればわからない

63
デフォルトの名無しさん[sage]   投稿日:2014/12/27 14:04:42  ID:BGpvdfNM.net(2)
●Regular Expressionの使用環境
Ruby

●検索か置換か?
検索

●説明
(ひらがな、カタカナ、漢字、英数字(全角/半角)、","(全角/半角)、"."(全角/半角))のみの文字列を抽出したい


●対象データ
 1不思議な2新聞3
 .に書,いて.ある,
 +通り-に行/動し*た結果
 憧れ(の)同級生と…

●希望する結果
 1不思議な2新聞3
 .に書,いて.ある,

よろしくお願いします。

64
デフォルトの名無しさん[sage]   投稿日:2014/12/27 15:37:10  ID:8H3WtYVY.net
/\A[ここにマッチさせたいものを全部書く]+\z/
コメント1件

65
デフォルトの名無しさん[sage]   投稿日:2014/12/27 16:24:38  ID:BGpvdfNM.net(2)
>64
ありがとうございます。
うまくできました。

66
デフォルトの名無しさん[sage]   投稿日:2015/01/02 21:45:08  ID:v2/hSox9.net
●Regular Expressionの使用環境
Ruby
●検索か置換か?
検索
●説明
後ろ向きの最短一致をさせたい
●対象データ
<a>あいう<b>123</b>えお</a><a>かきく<b>456</b>けこ</a>
●希望する結果
456で検索して
<a>かきく<b>456</b>けこ</a>

よろしくお願いします。

67
デフォルトの名無しさん[sage]   投稿日:2015/01/03 03:21:52  ID:ssBgeI0p.net
>6の一番下のタグの中に「ある文字列」を含まない正規表現

68
【ニダー】 [sage]   投稿日:2015/01/03 06:50:23  ID:OaaIU2j6.net
!omikuji

69
デフォルトの名無しさん[sage]   投稿日:2015/01/11 23:11:27  ID:s5YQ0YAX.net(2)
●Regular Expressionの使用環境
サクラエディタ

●検索か置換か?
置換

●説明
謹賀新年hogehoge>
  ↓
謹賀新年>

ランダムな文字列であるhogehogeを一括で消す

突っ込みどころあると思いますがどうかよろしくお願いします。

●対象データ
謹賀新年hogehoge>

ランダムな文字列:hogehoge

●希望する結果
謹賀新年>

70
デフォルトの名無しさん[sage]   投稿日:2015/01/11 23:54:03  ID:UU82qEam.net
ランダムな文字列というからにはhogehogeはいろいろ変化するんだよね
謹賀新年と>は固定でいいの?

71
デフォルトの名無しさん[sage]   投稿日:2015/01/11 23:57:48  ID:s5YQ0YAX.net(2)
ハイ!

72
デフォルトの名無しさん[sage]   投稿日:2015/01/12 00:26:59  ID:+TbEDHOy.net
だったら難しいことは何もないような・・・
置換前:(謹賀新年).*?(>)
置換後:$1$2

73
デフォルトの名無しさん[sage]   投稿日:2015/01/12 02:23:55  ID:6K5npcv7.net
ありがとうございます

74
デフォルトの名無しさん[sage]   投稿日:2015/01/13 11:11:49  ID:ZSJSYGMP.net(5)
テスト

75
デフォルトの名無しさん[sage]   投稿日:2015/01/13 11:15:11  ID:ZSJSYGMP.net(5)
何故か書き込めないのでテキストファイルでアップしました
http://www.dotup.org/uploda/www.dotup.org104566.txt
宜しくお願いします

76
デフォルトの名無しさん[sage]   投稿日:2015/01/13 13:20:35  ID:kceTGmH6.net
分かりやすく言えば

1、 「スペース2つ」 を区切りとして、前、後 の2つに分断する。

2、 その 前 のみを取り出す

という処理。

これによってスペース2つが出現するまでの文字列が出力される。
コメント2件

77
デフォルトの名無しさん[sage]   投稿日:2015/01/13 14:16:20  ID:ZSJSYGMP.net(5)
>76
ありがとうございます
“嵬椶
「スペース2つ」→\s\s
「分ける」がどれに当たるのでしょうか?
ググってもsplitのページがヒットしてしまいます
番目の
「前のみ」はどれに当たるのでしょうか?

「正規表現」でググると
JavaやPHPなど高度なプログラミングみたいのがヒットしてしまうのですが
「正規表現」にも多種あるようですが
自分のやろうとしている「正規表現」はなんて検索すればいいのでしょう?

宜しくお願いします

78
デフォルトの名無しさん[sage]   投稿日:2015/01/13 17:09:16  ID:FS/vx9x/.net
>> 74
> Taskerのスレで下記の様な正規表現でアドバイス戴けたのですが
> その意味が解らないので解説頂けないでしょうか?
> (.*?)\s\s.*
> 自分なりに調べたのですが理解できませんでした
> (.*?)→0文字に一致?それとも0文字を$1に格納?
> \s\s.*→2つのスペースに0文字以上の文字?

例えば、正規表現が `.\s' なら、何か1文字とそれに続く空白文字1文字にマッチする
これを >76 が言った言い方だと、空白文字1文字と、その前の何か1文字にマッチする
前のみっていうのは、文字の位置的に `\s\s' の前に `(.*?)' が有るから

少しくどくなるが、`(.*?)\s\s.*' の場合、検索を始めた箇所(最初は先頭)から、
`.': 改行以外の任意のある文字、一文字に一致する
`*?': その一致するものは無くてもいいけど、何か文字が有ればずーっと文末まで一致する
...では無くて、`\s\s'の手前までの全てに一致する

`?' 無しの `.*' だと、一致したもののうち一番長いものを採用し、途中の`\s\s'は`.*' に含まれてしまうが、
`?' が付いていると、最初に見つかった`\s\s'を採用して、その手前までになる

`\s\s': で、空白文字の2文字に一致し、以下略

ココら辺で、遊んでみれば。(さくらが咲いてますよって出るので、comにしてある)
scriptular.com
rubular.com
regexr.com

公式Userguideはここっぽいね。使える正規表現も書いてあった
http://tasker.dinglisch.net/userguide_summary.html#matching.html
#Pattern Matching ##Regular Expression Matching ###Matching Rules
コメント1件

79
デフォルトの名無しさん[sage]   投稿日:2015/01/13 17:31:32  ID:ZSJSYGMP.net(5)
>78
詳しい解説とtxtファイルの引用まで本当にありがとうございます!
`\s'などの個々の意味までは調べて理解できたのですが
その組合わせとなると本当に難しいです
解説頂いた`(.*?)'部分をコピペ保存し整理しながら読みといてみたいと思います
本当にありがとうございました

80
デフォルトの名無しさん[sage]   投稿日:2015/01/13 18:22:05  ID:ZSJSYGMP.net(5)
当初↓のサイトとにらめっこし理解に苦しんでいたのですが
http://msdn.microsoft.com/ja-jp/library/cc392020.aspx
具体的な詳しい解説をして下さっ
たので理解できました!
今回の↓を正規表現にすると
[メールアドレス](スペース)[件名]
.*?\s.*と表現でき
.*→全ての文字列に一致してしまうが?を付加で最少の文字列を採用させる
それは\sまで
また()で一致した[メールアドレス]部分を記憶させる
という具合なんですね
今回の様に[メールアドレス]部分のみを記憶したいのであれば
(.*?)\sだけで
.*は要らないのでしょうか?
また()で記憶した[メールアドレス]を呼び出したい場合は
$0指定で合ってますでしょうか?

81
デフォルトの名無しさん[sage]   投稿日:2015/01/14 01:39:07  ID:SHHyvNBq.net(2)
> 今回の様に[メールアドレス]部分のみを記憶したいのであれば
> (.*?)\sだけで.*は要らないのでしょうか?

実際のデータが[メールアドレス](スペース)[件名]では
`(.*?)\s\s.*' では `\s\s' の部分がマッチしないと思うんだけど、

実際のデータが[メールアドレス](スペース)[件名]で合っているなら、要らないんじゃないか
私なら、先頭に `^' も付けて、また確実にスペース1つならば、\sより、` 'にして
結果、`^(.*?) ' とか、`^([^ ]*) ' にする。しかし、試せないので...実際に試してみて

> また()で記憶した[メールアドレス]を呼び出したい場合は$0指定で合ってますでしょうか?
一般的に $0 はマッチした文字列全体を、$1 は最初のカッコでマッチした文字を参照するので
`(.*?)\s' や `^([^ ]*) ' ならば、$1でしょう。$0ならスペースも含まれる
`$1'に置換する所を、`===>$0<===' に置換するようにして表示してみれば違いが分かるかも

ところで、こんな記述を見つけた。K9メールは関係ないかもしれないけど、一応貼っときます
http://pralin.info/tasker/tasker_userguide/user_guide/variables....
> Built-In Variables (組込み変数)
> 略
> Email From / Cc / Subject / Date / Time (‘K9メール’で受信したEメールに関する情報)
> (dynamic)
> %EFROM / %ECC / %ESUBJ / %EDATE / %ETIME
> K9アプリケーションで前回受信したEメールの、送信者、Cc、件名、受信日、時間です。
コメント3件

82
デフォルトの名無しさん[sage]   投稿日:2015/01/14 02:04:04  ID:SHHyvNBq.net(2)
訂正

私なら、略
結果、`^(.*?) ' とか、`^([^ ]*) ' に、もしくは、`^[^ ]*' にして、置換を `$0' にする

83
デフォルトの名無しさん[sage]   投稿日:2015/01/14 05:30:44  ID:xEcaho2u.net
重い

84
デフォルトの名無しさん[sage]   投稿日:2015/01/14 05:52:23  ID:C0oqSSBJ.net(2)
不安定

85
デフォルトの名無しさん[sage]   投稿日:2015/01/14 06:16:54  ID:C0oqSSBJ.net(2)
2重書き込みのため表示しません 内容を確認する

86
デフォルトの名無しさん[sage]   投稿日:2015/01/14 07:03:44  ID:qCW3djxi.net
本文が長すぎます

87
デフォルトの名無しさん[sage]   投稿日:2015/01/14 07:09:40  ID:GdCbM//t.net(2)
>81-82
低レベルな自分に
何度も丁寧に本当にありがとうございます
コピペ保存し後でじっくり読み解いてみたいと思います!
Androidメーラーである[K-9]を利用すれば手っ取り早いみたいなんですが
ActiveSyncプロトコルに対応していないので
Android標準メーラーで[From]を変数に格納し鳴り分けに取り組んでいます
その課程での正規表現でした
その難しさに圧倒されていますが
皆さんの教えで何とか理解し組んで動いた時の感動はひとしおです

88
デフォルトの名無しさん[sage]   投稿日:2015/01/14 19:15:28  ID:GdCbM//t.net(2)
>81-82
お世話になってます
追加で提案して頂いた正規表現
■`^([^ ]*) '→[スペース]ではない文字を0回以上[スペース]まで繰返し検索で()によるって$1に記憶
■`^[^ ]*'→[スペース]ではない文字を0回以上繰返し検索でその(全ての)結果が$0に記憶される←[スペース]入っていないのでそのまま使える
で合ってますかね?
追加の提案で理解が深められた気がします!
早速Taskerにて検証してみました
【表現】`(.*?)/s'
【結果】AAA@ezweb.ne.jp[件名]
【表現】`^([^ ]*) '
【結果】AAA@ezweb.ne.jp [件名]
【表現】`^[^ ]*'
【結果】AAA@ezweb.ne.jp [件名]
でした
これはTaskerの仕様で
全文を正規表現で表し
記憶させたい部分を()で指定しなければ駄目なので
敢えてT'[.*?]/s.*`と教え頂けたと学ぶことができました
本当に勉強になりました
ありがとうございました
(`・ω・´)ゞ多謝

89
デフォルトの名無しさん[sage]   投稿日:2015/01/15 12:02:13  ID:wf767Mv0.net
検索と置換を間違えて嘘を教えた orz だけど、理解が進んだ様で良かった

> これはTaskerの仕様で
Taskerだけでなく、置換では、マッチしなかったものはそのまま残る。ごめん

例えば、Java
public class Sample{
 public static void main(String []args){
  String str = "ABC_ezwebNeJp KENMEI";
  str = str.replaceFirst( "^(.*?) ", "==>$1<==" );

  System.out.println( str );
  // it prints "==>ABC_ezwebNeJp<==KENMEI"
  
 }
}

sed では
$ echo 'ABC_ezwebNeJp KENMEI' | sed -e 's/^\([^ ]*\) /==>\1<==/'
==>ABC_ezwebNeJp<==KENMEI


書き込めなかったので ABC_ezwebNeJp にしてる
コメント1件

90
デフォルトの名無しさん[sage]   投稿日:2015/01/15 20:39:57  ID:PKDwQvNb.net
>89
補足までありがとうございます
> 置換では、マッチしなかったものはそのまま残る。
テキストエディタなどでの置換をイメージすると
確かにおっしゃる通りの振る舞いですね
すっきりすることができました
最後まで本当にありがとうございました

91
デフォルトの名無しさん[sage]   投稿日:2015/01/17 19:38:09  ID:O/W9cU3U.net(2)
お世話になっています
Taskerスレで当初教えて頂いた`\s\s'表現には
差出人がスペースを含めた名称を付けた場合の対処まで深く考えられたものでした
Tasker 初心者質問スレ 10 /スマホアプリ板
高度な処理イメージをして組まなければならない世界なんですね
恐れ入りました(敬
コメント1件


92
デフォルトの名無しさん[sage]   投稿日:2015/01/17 21:40:07  ID:IxqCDXNU.net
>91
\s\s の話は不思議に思って >81 で、念を押してたんだけど、
まあこれも勉強でしょ

それよりも、ある程度完成したみたいで良かったね
コメント1件

93
デフォルトの名無しさん[sage]   投稿日:2015/01/17 22:12:21  ID:O/W9cU3U.net(2)
>92
先程完璧に完成することができました!
こちらのスレでのご教授のお陰でもあります
普段何気に利用しているソフトウェア
それを組み上げて作ってるプログラマの偉大さを今回痛感させられました
本当にありがとうございました

94
デフォルトの名無しさん[sage]   投稿日:2015/01/21 23:31:05  ID:Xic+hwyG.net
連続するメタ文字"+()+"を正規表現でマッチさせたいとき
"\+\(\)\+"とやってますけど、範囲を指定してエスケープするにはどうすれば良いですか?
某サイトにあった"\Q+()+\E" では動きませんでした。エクセルVBAです。

95
デフォルトの名無しさん[sage]   投稿日:2015/01/22 00:02:23  ID:I+VI4YxC.net(2)
ここを見る限りVBAではサポートされてないんじゃね
http://msdn.microsoft.com/ja-jp/library/ms974570.aspx

96
デフォルトの名無しさん[sage]   投稿日:2015/01/22 13:36:09  ID:V7uGlpy4.net(3)
\+\(\)\+

97
デフォルトの名無しさん[sage]   投稿日:2015/01/22 14:09:54  ID:V7uGlpy4.net(3)
すいません、「範囲を指定して」を見落としてたんで上のは取り消しで・・。

98
デフォルトの名無しさん[sage]   投稿日:2015/01/22 16:22:30  ID:I+VI4YxC.net(2)
それを見落としたとして何故その回答になる

99
デフォルトの名無しさん[sage]   投稿日:2015/01/22 16:41:37  ID:V7uGlpy4.net(3)
無意識に適当に読んでたらしく

>連続するメタ文字"+()+"を正規表現でマッチさせたいときエスケープするにはどうすれば良いですか?
>某サイトにあった"\Q+()+\E" では動きませんでした。

という質問だと思って答えてしまった。環境くらい書いてよとか思ったけどしっかりVBAって書いてあったw

100
デフォルトの名無しさん[sage]   投稿日:2015/01/23 20:13:44  ID:9tnFJzS/.net(2)
#include <iostream>
#include <regex>
#include <string>
#include <locale>
using namespace std;
void main()
{
wcout.imbue(locale("japanese"));
const wchar_t* input = L"Dim str As String = \"テスト。文字列の中に'がある\" 'コメント";
wcout << L"input ->" << input << L"<-" << endl;
const wchar_t* pattern = L"\'.*$";
const wchar_t* replacement = L"";
wregex re(pattern);
wstring result = regex_replace(input, re, replacement);
wcout << L"result->" << result << L"<-" << endl;
}

VB.NETのソースからコメントを全部取り除くプログラムをVC++2013のwregexで
作ってみたのですが、文字列の中にあるシングルクオーテーションにもマッチ
してしまいます。これを回避して、本来のコメントのみにマッチする表現を
教えて下さい。
コメント2件

101
デフォルトの名無しさん[sage]   投稿日:2015/01/23 20:17:47  ID:9tnFJzS/.net(2)
ああ、それとコメントには ' 以外に REM で始まる行もコメントの
ようなので、それにも対応したようなのが出来れば最高です。
よろしくお願いsいます。

102
デフォルトの名無しさん[sage]   投稿日:2015/01/23 21:10:32  ID:eFAAQwvF.net

103
デフォルトの名無しさん[sage]   投稿日:2015/01/23 21:23:49  ID:T+1A7YgE.net
REM

104
デフォルトの名無しさん[sage]   投稿日:2015/01/23 21:46:31  ID:/pjVQAK4.net(2)
仕事を人に丸投げすんなよ。。。
つーかコメントは入れ子があるから無理

105
デフォルトの名無しさん[sage]   投稿日:2015/01/23 21:51:48  ID:/pjVQAK4.net(2)
VBはブロックコメント無いのか
じゃあ

^\s*([Rr][Ee][Mm]|').*$

でいいんじゃね

106
デフォルトの名無しさん[]   投稿日:2015/01/23 22:35:00  ID:Hr76SqrY.net
>100
そんなレベルで満足せずに
VBコンパイラ作れ

107
デフォルトの名無しさん[sage]   投稿日:2015/01/24 09:28:11  ID:VaaHq///.net
>100
考え方だけ。クォートのものを優先してマッチさせる regexp を使う
クォートでマッチしたものは、置換しない

あまり考えないで書いたコードなので、適当に修正して下さい
const wchar_t* pattern = L"(\"[^"]*\")|('[^']*')|('.*$|REM.*$)";
const wchar_t* replacement = L"$1$2";
コメント1件

108
デフォルトの名無しさん[sage]   投稿日:2015/01/25 00:26:25  ID:PYkp2Zoh.net
>107
教えていただいたパターンでいい感じでマッチしました。
大変ありがとうございます。
正規表現の初心者なので、教えていただいたパターンの意味が
今一つよく理解できていません。| ってOR の意味ですよね?
これでなんで期待通りの動きをするのか分らない。。。ああ難しい。
コメント1件

109
デフォルトの名無しさん[]   投稿日:2015/01/25 02:57:07  ID:n/w7cTTn.net
ひんと
$1→(\"[^"]*\")
$2→('[^']*')
$3→('.*$|REM.*$)
コメント1件

110
デフォルトの名無しさん[sage]   投稿日:2015/01/25 06:56:11  ID:TpaFIK4z.net
$1→(\"[^"]*\")
$2→('[^']*')
$3→('.*$|REM.*$)

$1は、"", "a", "abc"
$2は、'', 'a', 'abc'

$3は、', 'a, 'abc,
REM, REMa, REMabc,
コメント1件

111
デフォルトの名無しさん[sage]   投稿日:2015/01/25 09:24:32  ID:giPZi5FN.net
ややこしい

112
デフォルトの名無しさん[sage]   投稿日:2015/01/25 09:46:27  ID:FlI9/mjR.net
そんな事ないよ

113
デフォルトの名無しさん[sage]   投稿日:2015/01/25 09:58:30  ID:qMB0fa9P.net(2)
正規表現むずかしい

114
デフォルトの名無しさん[sage]   投稿日:2015/01/25 11:38:26  ID:JhgO84F7.net
正規表現はずかしい

115
デフォルトの名無しさん[sage]   投稿日:2015/01/25 12:20:38  ID:qMB0fa9P.net(2)
Regular Expression

116
106[sage]   投稿日:2015/01/25 12:31:28  ID:nzAr/S0d.net
>108
それは Tasker の時の様にならずに良かった

> 分らない。。。ああ難しい。
.NET も含めて一般的な従来型NFAエンジンは、
A|B|C
だと、Aとマッチするか試み、ダメなら元に戻ってBを試す

const wchar_t* replacement = L"## 1: ==>$1<== ## 2: ==>$2<== ## 3: ==>$3<==";
とでもして、試せば理解できるかもよ

あと、ここら辺読めば
詳説正規表現
4.3 正規表現主導かテキスト主導か
4.3.1 正規表現主導型のNFAエンジン
https://books.google.co.jp/books?id=RJFJ2I-thlsC&;lpg=PA177&ots=zXRiExOl30&dq=nfa%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%20dfa%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3&hl=ja&pg=PA217#v=onepage&q&f=false

正規表現の動作の詳細
https://msdn.microsoft.com/ja-jp/library/e347654k(v=vs.110).aspx

man 7 regex
http://linuxjm.sourceforge.jp/html/LDP_man-pages/man7/regex.7.html
コメント1件

117
デフォルトの名無しさん[sage]   投稿日:2015/01/26 15:50:46  ID:pD45ZdVE.net
>109>110
>116
詳しい解説ありがとうございます。その後、必死で正規表現を勉強している
のですが、なかなか進みません。
その過程で、VisualStudio2013では 肯定先読みとか肯定後読みとかが
使えないようなのですが
そういうのを使いたい場合には、Boostを使うしかないですか?

118
デフォルトの名無しさん[sage]   投稿日:2015/01/26 16:26:04  ID:eCIxtoMN.net
正規表現は遊びながら覚えると面白いよ。難しく考えないほうがいい。
boostはperl並に強力な正規表現エンジンだからこれが使えるなら是非使おう。

119
デフォルトの名無しさん[sage]   投稿日:2015/01/26 17:38:42  ID:oVT0PKMK.net
> boostはperl並に強力な正規表現エンジン

120
デフォルトの名無しさん[sage]   投稿日:2015/02/02 11:29:22  ID:DtWOP1ys.net(2)
正規表現はテキストファイルの中にある次の二つの行を見付けて
//---ここから


//---ここまで削除

この範囲にある行(この二行も含む)を全部削除するような処理に使えますか?
c++のregexです。
コメント1件

121
デフォルトの名無しさん[sage]   投稿日:2015/02/02 11:36:39  ID:EZQev4rj.net
「---ここから」とか「---ここまで削除」が付いてるなら可能じゃね?
ネストしてたら知らんけど
コメント1件

122
デフォルトの名無しさん[sage]   投稿日:2015/02/02 11:39:40  ID:DtWOP1ys.net(2)
>121
レスありがとうございます。ネストは無しです。

123
デフォルトの名無しさん[sage]   投稿日:2015/02/02 12:45:55  ID:RH7feET7.net
その程度なら正規表現使わないでも書けるだろうしその方が速くないか
コメント1件

124
デフォルトの名無しさん[sage]   投稿日:2015/02/02 13:38:37  ID:8c110nuS.net
>120

質問に回答致します。

> 使えますか?
はい。

では次の方どうぞ。

125
デフォルトの名無しさん[sage]   投稿日:2015/02/03 17:16:25  ID:T6BqtAUV.net
これが、ベストアンサー
>123

126
デフォルトの名無しさん[]   投稿日:2015/02/19 16:10:49  ID:a/uQUW78.net
rubyで下記の文字列から頭が■の部分だけを抜き出したいのですが、うまくできません。

"□あああ■いうえお□かきくけ■さしすせ□たちつて□となにぬ□ねの■はひふ□へほ"

理想の結果["■いうえお","■さしすせ","■はひふ"]
コメント2件

127
デフォルトの名無しさん[]   投稿日:2015/02/19 18:27:15  ID:W1BgVy30.net
>126
■から□の直前までを抜き出す正規表現です
+ とか u は適当に修正

"□あああ■いうえお□かきくけ■さしすせ□たちつて□となにぬ□ねの■はひふ□へほ".
scan( /■[^□]+/u )
コメント1件

128
デフォルトの名無しさん[]   投稿日:2015/02/20 09:05:16  ID:eLhLRYkP.net
>127
ありがとうございます。あっさりできました。
色々とごちゃごちゃ試しましたがこんなに単純にできるんですね。

129
デフォルトの名無しさん[]   投稿日:2015/02/23 16:22:27  ID:Ux68NKC8.net(2)
>126と似た感じなのですが、
rubyで下記文字列から円の前の金額部分を抜き出したいです。宜しくお願いします。
"123百万円(250ほげ)、285百万円(ほげ125)
1億2千3百万円
1,230万円(ほげ2000.12ほげ)
1,230,000円(2000.12ほげ)"
コメント3件

130
デフォルトの名無しさん[]   投稿日:2015/02/23 16:30:14  ID:Ux68NKC8.net(2)
自己レス>129です。
できた気がしますが、こんなんで良いんでしょうか?
str.scan(/\d[^()]+?[億千百万]?円/)

131
デフォルトの名無しさん[sage]   投稿日:2015/02/24 18:51:15  ID:07WHyE0z.net
>129
[億千百万]? の部分は、提示したデータだと、抜いても結果が変わらない
何かの考えがあって入れているのだと思うけど、その意図が今一つ不明
実際のデータが、示されたものと違うのかな?

> こんなんで良いんでしょうか?
上記の問題を検討した上でだが、実際のデータから希望の結果が出るなら
それで良いんじゃあないかと思います

あえてここで、何か答えるとすると
もしも、(...)で囲まれたほげ数字にも、円で終わるものが有ったりしてややこしくなるなら、
一度に処理しようとせずに、予め元のデータから(...)だけを削除しておくのも良い手だと思う

# `.*?' の代わりに `[^))]*' でも同じ。良く分からないから半角()も入れておいた
# 「円の前の金額部分」という事なので、円の手前までを抜き出したもの
# ちなみに、この scan() だけでも、今回の解答になっています
str.gsub( /[((].*?[))]/, '' ).scan( /[\d,億万千百]+?(?=円)/ )
コメント1件

132
デフォルトの名無しさん[sage]   投稿日:2015/02/24 21:49:57  ID:3nVqEvm0.net
>129
テンプレすら読めないの?

133
デフォルトの名無しさん[sage]   投稿日:2015/02/24 22:30:27  ID:22oMyd1b.net(4)
●Regular Expressionの使用環境
Firefox 35.0.1

●検索か置換か?
検索

●説明
q=の後の検索ワードを抽出したいです
現在の正規表現がこうなっているんですが1行目の検索ワードが抽出できません
^http[s]?://([^.]+\.)?google\.([a-z]+\.?)+/[^?/]*\?(.*&)?(as_)?q=([^&]+)
どのように修正すればいいでしょうか?

●対象データ
https://www.google.co.jp/#q=てすと
https://www.google.co.jp/webhp?hl=ja#hl=ja&q=てすと
https://www.google.co.jp/?gws_rd=ssl#q=てすと

●希望する結果
てすと
てすと
てすと

よろしくお願いします
コメント1件

134
デフォルトの名無しさん[sage]   投稿日:2015/02/24 22:35:07  ID:KGzF+WVu.net

135
デフォルトの名無しさん[sage]   投稿日:2015/02/24 23:08:17  ID:22oMyd1b.net(4)
>134
ありがとうございました

136
デフォルトの名無しさん[sage]   投稿日:2015/02/24 23:12:37  ID:22oMyd1b.net(4)
>133の質問が色々と間違っていました
回答いただいた>134さん申し訳ありません
すいませんが、改めて質問させてください

●Regular Expressionの使用環境
Firefox 35.0.1の拡張機能SearchBox Sync1.4.0
※拡張機能のSearchBox Sync1.4.0のページです
 https://code.google.com/p/searchboxsync/wiki/HowTo

●検索か置換か?
検索

●説明
検索語句を抽出したいです
デフォルトではこうなっているのですが
^http[s]?://([^.]+\.)?google\.([a-z]+\.?)+/[^?/]*\?(.*&)?(as_)?q=([^&]+)
これだと2番目の検索語句が抽出できませんでした

●対象データ
https://www.google.co.jp/#q=あああ
https://www.google.co.jp/?gws_rd=ssl#q=いいい
https://www.google.co.jp/webhp?hl=ja#hl=ja&q=ううう

●希望する結果
あああ
いいい
ううう

度々すみませんが、よろしくお願いします

137
135[sage]   投稿日:2015/02/24 23:14:28  ID:22oMyd1b.net(4)
>これだと2番目の検索語句が抽出できませんでした
紛らわしい書き方だったので補足です

2番目というのは対象データのこのことです
https://www.google.co.jp/?gws_rd=ssl#q=いいい
コメント1件

138
デフォルトの名無しさん[sage]   投稿日:2015/02/25 00:46:10  ID:v34fXgPe.net
そのアドオンは設定を変えてもリスタすると戻っちゃうからこっちに変えた方がいいよ
https://addons.mozilla.org/ja/firefox/addon/conform-searchboxwith-automa...

その上で正規表現をこう変える(後ろに#を追加)
[&?#]q=([^&#]+)
コメント1件

139
135[sage]   投稿日:2015/02/25 01:05:33  ID:hHD/IuY8.net
>138
設定が元に戻るの気づきませんでした
代わりのアドオンまで教えてもらってありがとうございます!
さっそく使ってみたいと思います
どうもありがとうございました

140
デフォルトの名無しさん[]   投稿日:2015/02/25 09:39:58  ID:q6hZn1+T.net
>131
>str.gsub( /[((].*?[))]/, '' ).scan( /[\d,億万千百]+?(?=円)/ )
よくわからない質問に回答いただきありがとうございます。
書いて頂いた式についてなんですが、(?=円)の表現は初めて見たのですがどんな意味なのでしょう?
コメント2件

141
デフォルトの名無しさん[sage]   投稿日:2015/02/25 10:17:29  ID:l4DgES9U.net
>140
先読み

あとは自分でググれ

142
デフォルトの名無しさん[sage]   投稿日:2015/03/01 15:50:28  ID:+/3fb9m1.net(3)
PHPでやってます。

mb_eregi("a(?!b|c)","ad"));

mb_eregi("a((?!b))","ad"));
の否定先読みがマッチするのは予期通りなのですが、

mb_eregi("a((?!b|?!c))","ad"));
がマッチしない理由がわかりません。どうしてでしょうか?

143
141[]   投稿日:2015/03/01 15:52:19  ID:+/3fb9m1.net(3)
(末尾の「)」が多かったので訂正します)
PHPでやってます。

mb_eregi("a(?!b|c)", "ad");

mb_eregi("a((?!b))", "ad");
の否定先読みがマッチするのは予期通りなのですが、

mb_eregi("a((?!b|?!c))", "ad");
がマッチしない理由がわかりません。どうしてでしょうか?

144
デフォルトの名無しさん[sage]   投稿日:2015/03/01 16:03:57  ID:Sga1DM1F.net

145
デフォルトの名無しさん[sage]   投稿日:2015/03/01 16:51:00  ID:2LvLY08l.net
ただの文法エラーじゃないの?
(?!)はグループの先頭にしか置けないと思うが
コメント1件

146
141[]   投稿日:2015/03/01 20:20:08  ID:+/3fb9m1.net(3)
>145
おおまさに。正規表現自体が無効だったらしく、
PHPのエラーログがありました。

PHP Warning: mb_eregi(): mbregex compile err: target of repeat operator is not specified

147
デフォルトの名無しさん[sage]   投稿日:2015/03/06 15:42:56  ID:AIFKHCSQ.net
JavaScriptです。

どうしても、できないので申し訳ないのですが、お尋ねします。

[キノコ] ⇒ たけのこ

という具合に[ ]をはずした上で、さらに文字列を置換したいです。
どのような正規表現を書けば良いのでせうか?

148
デフォルトの名無しさん[]   投稿日:2015/03/06 16:42:47  ID:MdPyuokm.net
単に[]をエスケープしてないだけでは?
/\[キノコ\]/
/\[.*?\]/
コメント1件

149
デフォルトの名無しさん[sage]   投稿日:2015/03/09 08:48:41  ID:p+uKF6zv.net(2)
>148
やってみましたが、駄目でした。
[キノコ]⇒[たけのこたけのこたけのこ]

となってしまいました。
str.replace("/\[キノコ\]/","たけのこ")としてるのですが、どうも、自分の
今作りこんでるものでは、RE2構文でなければならないということのようです。

プレーンなJavascriptでは普通に置換ができました。ありがとうございます。
残念ですが、何か他の手段を考えてみます。

150
デフォルトの名無しさん[sage]   投稿日:2015/03/09 12:24:04  ID:tyzQwAhL.net(2)
Google - RE2 構文
https://code.google.com/p/re2/wiki/Syntax

見たところそんなに違いは無さそう。もしかしたら "" で囲うから \ を \\ にしないといけないとか?

str.replace("/\\[キノコ\\]/","たけのこ")
コメント1件

151
デフォルトの名無しさん[sage]   投稿日:2015/03/09 13:26:27  ID:p+uKF6zv.net(2)
>150
どもです。
試してみました。そのままだと上手く行かなかったのですが、参考にして以下の
ようにしたら、うまくいきました。

str.replace("(\\[)(キノコ)(\\])","たけのこ");
/ではなく、()で前後の[]をエスケープするしょりを括るみたいでした。

見事置換が出来ました。大変感謝です。ありがとうございます。

152
デフォルトの名無しさん[sage]   投稿日:2015/03/09 15:16:50  ID:tyzQwAhL.net(2)
それもしかしたらカッコいらないかもね。とりあえず出来て良かった、おつおつ。

153
デフォルトの名無しさん[sage]   投稿日:2015/03/09 17:33:06  ID:WXngf1h3.net(2)
正規表現の方は "" で括ってしまうより
 str.replace(/\[キノコ\]/g, "たけのこ")
みたいな方が。
g や m や i などフラグも簡単だし。
"" で括らないと何かマズい?
コメント1件

154
デフォルトの名無しさん[sage]   投稿日:2015/03/09 18:26:42  ID:gggD73W5.net
>153

> 今作りこんでるものでは、RE2構文でなければならないということのようです。
だそうなので、String.prototype.replaceが置き換えられてるんじゃね
コメント1件

155
デフォルトの名無しさん[sage]   投稿日:2015/03/09 19:00:40  ID:WXngf1h3.net(2)
なるほど、スレ汚しスマヌ

156
デフォルトの名無しさん[sage]   投稿日:2015/03/11 23:32:56  ID:ia4bkTQw.net
//func();
// func();
func();
func();//
func(); //a

funcを検索する場合1,2行目はマッチして欲しくない
3,4,5行目はマッチして欲しいのですがどのような正規表現になりますか?
コメント1件

157
デフォルトの名無しさん[sage]   投稿日:2015/03/12 00:40:54  ID:OrUkgFgz.net(2)
正規表現は環境によって書き方が大きく変わるから答えようがない。

158
デフォルトの名無しさん[sage]   投稿日:2015/03/12 00:42:07  ID:ncqMmrlm.net
perl v5.16.3

159
デフォルトの名無しさん[sage]   投稿日:2015/03/12 01:05:11  ID:hJJR3r36.net
^\s*foo();.*$
コメント2件

160
デフォルトの名無しさん[sage]   投稿日:2015/03/12 02:18:29  ID:OrUkgFgz.net(2)
perlなら理想的なものが作れる。正規表現が好きな人向けの問題だから俺はあえてスルーして若手に手柄を譲ろう。
perlの正規表現をどこまで理解してるかがハッキリ分かる問題。一番優秀な答えには二重まるプレゼント。

161
デフォルトの名無しさん[sage]   投稿日:2015/03/12 13:05:32  ID:Cvw5mFLW.net(2)
否定戻り読み使えばいいだけ

162
デフォルトの名無しさん[sage]   投稿日:2015/03/12 13:08:29  ID:Cvw5mFLW.net(2)
いや、>159で充分だな

163
デフォルトの名無しさん[sage]   投稿日:2015/03/12 14:53:31  ID:UJgM8iom.net(2)
正規表現で、Perlでないと出来ないことって何だろう

164
デフォルトの名無しさん[sage]   投稿日:2015/03/12 18:36:49  ID:f0lbXk4h.net
ここで聞いたのが間違いだった

165
デフォルトの名無しさん[sage]   投稿日:2015/03/12 19:28:48  ID:fK+G/Dp4.net(2)
検索っていうらいだから、いくらなんでも^$で挟むのはまずいだろ

166
デフォルトの名無しさん[sage]   投稿日:2015/03/12 19:39:17  ID:fK+G/Dp4.net(2)
ごめんmオプションつけとけばいいのか

167
デフォルトの名無しさん[sage]   投稿日:2015/03/12 20:07:36  ID:UJgM8iom.net(2)
環境によって書き方が大きく変わるっていうほどのことでもないし
あいつは何が言いたかったんだろうか

168
デフォルトの名無しさん[sage]   投稿日:2015/03/13 00:39:53  ID:0j9+dGeK.net
おそらくコメントの認識の問題だろう
/* */で括られた複数行の中に存在している場合とか
さらに/*か*/を//で無効にしてる場合とかを判定するだとか

169
デフォルトの名無しさん[sage]   投稿日:2015/03/13 07:22:33  ID:Oaowwqwo.net
>156
/* func(); */ func();
はどうしますか

>159
任意の関数を検索出来ませんね
コメント1件

170
デフォルトの名無しさん[sage]   投稿日:2015/03/13 12:42:20  ID:jdiBuyPQ.net
顧客が本当に必要だったものを無視して
営業コンサルがウキウキして、仕様てんこ盛りし始めたな

171
デフォルトの名無しさん[sage]   投稿日:2015/03/13 23:19:33  ID:86LBBVPV.net
>169
/* func(); */ func();
マッチして欲しいです。
/*
func();
*/
はマッチして欲しくないです。

172
sage[]   投稿日:2015/03/15 00:56:26  ID:StzM3art.net
その言語用のパーサーを使って下さい

はい次の方どうぞ

173
デフォルトの名無しさん[sage]   投稿日:2015/03/15 01:13:35  ID:6p2wtnBO.net
先読みで、*/ の次の文字を読んで、

改行なら無視して、改行以外ならマッチ

174
デフォルトの名無しさん[sage]   投稿日:2015/03/15 16:57:12  ID:N62PgpuL.net
できました

175
デフォルトの名無しさん[sage]   投稿日:2015/03/15 17:50:49  ID:yw9QDtq9.net(2)
●Regular Expressionの使用環境
サクラエディタ 2.2.0.1
※bregonig.dll Ver.3.06 with Onigmo 5.15.0

●検索か置換か?
置換

●説明
[SR]という文字列を含まない行と空行を削除したいです
下記の2つの正規表現だと空行が消えません
^(?!.*\[SR\]).+\r?\n?
^(?!.*\[SR\]).*$

●対象データ
ABC[SR]123
DEF456
GHI[SR]789

●希望する結果
ABC[SR]123
GHI[SR]789

よろしくお願いします
コメント1件

176
デフォルトの名無しさん[sage]   投稿日:2015/03/15 18:06:23  ID:2a7Fnea4.net
>175
^(?!.*\[SR\]).*\r?\n?
コメント1件

177
174[sage]   投稿日:2015/03/15 18:24:24  ID:yw9QDtq9.net(2)
>176
ありがとうございます
できました!
超助かりました

178
デフォルトの名無しさん[sage]   投稿日:2015/03/16 00:27:36  ID:+/0omNd3.net
このスレで素人には到底書けない物凄い正規表現をチョチョイと簡単に書ける人って、普段も仕事か何かで正規表現を買いているんですか?

179
デフォルトの名無しさん[sage]   投稿日:2015/03/16 00:34:52  ID:oGjevCAQ.net
このスレで素人には到底書けない物凄い正規表現なんて見たことない

180
デフォルトの名無しさん[sage]   投稿日:2015/03/16 00:43:26  ID:lNl2kgwL.net
素人には書けないのは当然だが
物凄いってのは思いもよらないって意味なのか
括弧が多くて表現が長い
って意味なのか?
まあ具体的にそのレスを指し示して欲しい

181
デフォルトの名無しさん[sage]   投稿日:2015/03/18 23:19:04  ID:nEf/0tSg.net(2)
●Regular Expressionの使用環境
Jane Style 3.82

●検索か置換か?
検索

●説明
>を含むレスを抽出したい
>>のように2個連続しているものは除く
(>あ>3のように1個だけ>のものを含んでいる場合は>>と2個連続しているものが含まれていてもOK

●対象データ
>1
>2
>あ
>あ>3

●希望する結果
>1
>あ
>あ>3

よろしくお願いします

182
デフォルトの名無しさん[sage]   投稿日:2015/03/18 23:20:15  ID:nEf/0tSg.net(2)
すいません、値が間違っていました

●対象データ
>1
>2
>あ
>い>3

●希望する結果
>2
>あ
>い>3
コメント1件

183
[sage]   投稿日:2015/03/18 23:42:52  ID:hWX9f6cD.net
etst

184
デフォルトの名無しさん[sage]   投稿日:2015/03/18 23:51:47  ID:gHF05Ru2.net(2)
>182
その環境ないので確認できないけどこれはどう
(^>[^>]|[^>]>[^>])
コメント2件

185
デフォルトの名無しさん[sage]   投稿日:2015/03/18 23:55:54  ID:gHF05Ru2.net(2)
>184
ああこれもあるかな
(^|[^>])>[^>]

186
180[sage]   投稿日:2015/03/19 00:02:33  ID:6o9FjYpi.net(2)
>184-185
ありがとうございます
どちらもダメでした
コメント1件

187
デフォルトの名無しさん[sage]   投稿日:2015/03/19 04:11:16  ID:yurDzz1T.net
>186
(?<!>)>(?!>)
コメント3件

188
180[sage]   投稿日:2015/03/19 11:59:06  ID:6o9FjYpi.net(2)
>187
ありがとうございます
それでも駄目でした

189
デフォルトの名無しさん[sage]   投稿日:2015/03/19 14:58:49  ID:Seludl+r.net
対象データは2ch等のdatだから
表示上は > に見えているだろうけど、実際のデータ上は &gt; という特殊文字なので
(?<!&gt;)&gt;(?!&gt;)
だけど上だとコストが高いのでもっと限定して
(?:^|<br>)\s?(?<!&gt;)&gt;(?!&gt;)
>のみの行を含まないのなら、否定先読みにORで \s?(?:<br>|$) あたりを追加する
コメント1件

190
デフォルトの名無しさん[sage]   投稿日:2015/03/20 03:44:02  ID:hgnjF325.net
「ログから検索」 で検索してみると何やらおかしなことになるね。
これはstyleの(janeの?)不具合っぽいなぁ。

スレッド内でのレス抽出なら>187でちゃんと動作したよ。
これで駄目ってことは検索モードが正規表現になってない可能性。

styleで検索と言っても検索する場所とかによって動作が異なるので何がしたのか
もっと具体的に書いたほうがいいかもね。
> だけ検索したいという目的も意味不明だし。
コメント1件

191
デフォルトの名無しさん[sage]   投稿日:2015/03/20 04:19:42  ID:fLJyjAcG.net
>190
>137とか>140とか>154とかの参照を抽出したいのかなあ?
でも参照記号に>>や>を使う人も多いしなあ

ところで、レス抽出で検索対象を指定する(本文のみ)にするとマッチしなくなる
どうやら、検索対象指定なし時は表示(変換後)のテキストに対して行われ、
検索対象指定時はdatのデータに対して行われる気がする
コメント1件

192
デフォルトの名無しさん[sage]   投稿日:2015/03/20 08:22:56  ID:wZXAHl4b.net
>>190
わかります

193
180[sage]   投稿日:2015/03/20 08:39:56  ID:y3MGGk5K.net
>189
ありがとうございます
無事できました
どうもありがとうございました!

>191
ありがとうございます
>>ではなくて>と半角で1個だけ使っている人のレスを抽出したかったんです
教えていただいた通り、本文のみのチェックが入っていたので、
それを外したら>187の書き方でも抽出できました
どうもありがとうございました

194
デフォルトの名無しさん[sage]   投稿日:2015/03/21 19:01:44  ID:7+ji4sYH.net
回答する側はどんだけすっとんきょうなこといっても馬鹿にされないが
質問する側・・・

195
デフォルトの名無しさん[sage]   投稿日:2015/03/29 15:57:35  ID:sGWjXeUb.net(2)
あぼーんワードとして正規表現を使いたいのですがどう書けばいいのか教えてください。
多数のあらし文章に同一ワードが含まれているのですが、表記を多彩に変えられて困っております。
一発で表現できれば嬉しいのですが。。。

アスタリスク
アスタリスク
ア ス タ リ ス ク
ア ス タ リ ス ク

こんな感じで一部スペースが抜けたりもします。
よろしくお願いいたします。
コメント1件

196
デフォルトの名無しさん[sage]   投稿日:2015/03/29 16:35:40  ID:fhlFwjS4.net
>195
[アア][  ]?[スス][  ]?[タタ][  ]?[リリ][  ]?[スス][  ]?[クク]

197
デフォルトの名無しさん[sage]   投稿日:2015/03/29 21:22:59  ID:sGWjXeUb.net(2)
なるほど。
半角全角はそう対処すればいいのか!
ありがとうございましたm(__)m

198
デフォルトの名無しさん[sage]   投稿日:2015/03/30 20:11:03  ID:Z/xNzUYF.net
1
22
333
4444

0001
0022
0333
4444

に一発で置換したいのですが、教えてください。
perl v5.16.3

199
デフォルトの名無しさん[sage]   投稿日:2015/03/31 10:16:44  ID:t/ADQHOp.net(2)
my $str="1 22 333 4444 10000001";

$str =~ s/(?<!\d)\d{1,3}+(?!\d)/sprintf("%04d", ${^MATCH})/page;

### dbug ###
# $str =~ s/(?<!\d)\d{1,3}+(?!\d)/Hit/ag;

print "$str\n";

200
デフォルトの名無しさん[sage]   投稿日:2015/03/31 20:42:21  ID:ytppRCf1.net
my $str="1 22 333 4444 10000001"; でありません
my $str="1\n22\n333\n4444\n10000001";ですが・・・

201
デフォルトの名無しさん[sage]   投稿日:2015/03/31 21:02:18  ID:t/ADQHOp.net(2)
my $str="1\n22\n333\n4444\n10000001";

$str =~ s/^\d{1,3}+$/sprintf("%04d", ${^MATCH})/gamep;

### dbug ###
# $str =~ s/^\d{1,3}+$/Hit/agm;

print "$str\n";

202
デフォルトの名無しさん[]   投稿日:2015/04/08 15:07:15  ID:1V6iFpR8G
Mac OS9の検索置換ラクダV1.01ですが、アルファベットの大文字・小文字を区別してくれません。
例えば
m→MAC
M→WIN
としたい場合、どのように記述すれば良いでしょうか?
m (tab) WIN (tab) regex
M (tab) MAC (tab) regex
とすると、mMというテキストがWINWINとなってしまいます。

203
デフォルトの名無しさん[sage]   投稿日:2015/04/08 15:24:00  ID:7kPiyNnQ+
Perlスレのalarmが使えない(WindowsMe以前)というのもアレだが、
Mac OS9というのもアレだな。

204
デフォルトの名無しさん[sage]   投稿日:2015/04/13 08:00:29  ID:t7Zq3a8zZ
正規表現で苦労したのはHTMLの要素取得とか苦労したなぁ
いつも力業で何とかしてきたが、汎用性持たせてどんな条件でもって考え始めるときりがないっていう

205
デフォルトの名無しさん[sage]   投稿日:2015/04/18 02:20:40  ID:22kkEc4d.net(3)
【かつ丼】かつや24杯目【とん汁】 /丼板
これを正規表現であぼーんしたいのですが、
梶[  \.\r\n]*谷[  \.\r\n]*こ[  \.\r\n]*う[  \.\r\n]*い[  \.\r\n]*ち
これで消えません。
どこがおかしいのでしょうか?

206
デフォルトの名無しさん[sage]   投稿日:2015/04/18 02:47:14  ID:+F+Y74gF.net(3)
◯.*?\n.*?谷.*?\n.*?こ.*?\n.*?う.*?\n.*?い.*?\n.*?ち

◯は「梶」

207
デフォルトの名無しさん[sage]   投稿日:2015/04/18 03:01:53  ID:6N2YNk+s.net
専ブラ使ってんなら改行コードは前後に半角スペあるかないかの<br>あたりじゃね

208
デフォルトの名無しさん[sage]   投稿日:2015/04/18 04:06:44  ID:22kkEc4d.net(3)
ビンゴです!
梶[  \.<br>]*谷[  \.<br>]*こ[  \.<br>]*う[  \.<br>]*い[  \.<br>]*ち
で消えました。
そういう思考の方向転換が苦手で簡単に思いつく人には憧れます。
羨ましいです。
ありがとうございました。
コメント1件

209
デフォルトの名無しさん[sage]   投稿日:2015/04/18 04:42:14  ID:NS3YFS8E.net
>208
[<br>] とは、'<','b','r','>'のいずれかの文字1文字って意味だよん
コメント1件

210
デフォルトの名無しさん[sage]   投稿日:2015/04/18 04:44:43  ID:+F+Y74gF.net(3)
何かこういうアホ(ID:22kkEc4d)ってムカつくわ。
答えてしまって、おもくそ外れクジのカス引いたって感じ。

211
デフォルトの名無しさん[sage]   投稿日:2015/04/18 05:15:09  ID:22kkEc4d.net(3)
>209
それは理解してますがまあ今回は<br>でまとまってる必要もないのでこれで。

212
デフォルトの名無しさん[sage]   投稿日:2015/04/18 05:38:17  ID:+F+Y74gF.net(3)
人格障害だなこりゃ

213
デフォルトの名無しさん[sage]   投稿日:2015/04/18 11:34:16  ID:Mv48Ucji.net
2chで句点つかう奴は変なのがほとんど
というか質問者はちゃんとお礼も言ってるしいいと思うけどな

214
デフォルトの名無しさん[sage]   投稿日:2015/04/18 21:34:02  ID:UxcFTooC.net
ID:+F+Y74gF

他人が自分の思った通りに動いてくれると思うな。逆だと思え。世間知らずのお坊ちゃん。
コメント1件

215
デフォルトの名無しさん[sage]   投稿日:2015/04/18 23:12:07  ID:jCbWjNpY.net
>214
いまのところ説得力ないなぁw
コメント1件

216
デフォルトの名無しさん[sage]   投稿日:2015/04/18 23:28:47  ID:pPlyK8fl.net
>215
いまのところ説得力あるなぁw

217
デフォルトの名無しさん[sage]   投稿日:2015/04/19 01:11:24  ID:/mEOwbZx.net(2)
ID:22kkEc4d=ID:Mv48Ucji=ID:UxcFTooC=ID:pPlyK8fl

218
デフォルトの名無しさん[sage]   投稿日:2015/04/19 02:30:44  ID:j+Z5lz0g.net
自分の答えた案が採用されなくてヒスッてるとかカッコワルイっすよセンパイ

219
デフォルトの名無しさん[sage]   投稿日:2015/04/19 03:01:02  ID:/mEOwbZx.net(2)
ID:22kkEc4d=ID:Mv48Ucji=ID:UxcFTooC=ID:pPlyK8fl=ID:j+Z5lz0g

220
デフォルトの名無しさん[sage]   投稿日:2015/04/19 07:21:40  ID:Ht8XqG2f.net(3)
2chであぼーんと言えば専ブラって分かりそうなもんだけどな。なんで素人がドヤ顔で回答してるんだ?
コメント2件

221
211[sage]   投稿日:2015/04/19 12:10:05  ID:1eQvFRx0.net
あのセンパイマジパネェわ一生ついてくぜ!

222
デフォルトの名無しさん[sage]   投稿日:2015/04/19 15:12:47  ID:oSoYgo+3.net
>220
確か、スマホかなんかやJane系以外の専ブラで<br>じゃなくて\nなのがあったよ
以前そういう質問が来てて、<br>のかわりに\nにしたらあぼーんできたとかがあった
コメント1件

223
デフォルトの名無しさん[sage]   投稿日:2015/04/19 21:09:59  ID:Ht8XqG2f.net(3)
>222
そういう例外もあるけどまずはbrで作るべきだな。
それ以前に質問者は最初から環境書けって話だが。
コメント1件

224
デフォルトの名無しさん[sage]   投稿日:2015/04/19 21:15:38  ID:2jl66WDN.net
何なんだこの>220>223のしったかは?
尻尾見えてるのもわからん低能かね。

225
デフォルトの名無しさん[sage]   投稿日:2015/04/19 21:44:47  ID:Ht8XqG2f.net(3)
なんだこの猿みたいな低俗な生き物は。さっさと森に帰りなさい。

226
デフォルトの名無しさん[sage]   投稿日:2015/04/22 10:28:38  ID:ooPFFUWR.net(2)
健全でない言葉が含まれているため表示しません 内容を確認する

227
デフォルトの名無しさん[sage]   投稿日:2015/04/22 12:22:39  ID:IeAOuSb9.net(2)
マなんてなるもんじゃないな。いつ壊れるか分からん

228
デフォルトの名無しさん[sage]   投稿日:2015/04/22 12:52:53  ID:7nBYsVZ4.net
マ?

229
デフォルトの名無しさん[sage]   投稿日:2015/04/22 13:16:13  ID:/oKtz/nP.net
てs

230
デフォルトの名無しさん[sage]   投稿日:2015/04/22 15:55:31  ID:p1XYlazF.net
この粘着質の壊れっぷり、ID:Ht8XqG2f=質問者はどう見てもアウトだろ
コメント1件

231
デフォルトの名無しさん[sage]   投稿日:2015/04/22 16:24:31  ID:ooPFFUWR.net(2)
>230
こういう書込するって精神病なの?
どういう種類のクズなのかなぁ

232
デフォルトの名無しさん[sage]   投稿日:2015/04/22 17:08:22  ID:JoTKe2Ih.net
うわっスゲー反応早過ぎやんワロタ
コメント1件

233
デフォルトの名無しさん[sage]   投稿日:2015/04/22 17:19:37  ID:uJ5rdeJj.net
>232
うわぁぁぁ!
単なるタイミングの問題を
あたかも待ち構えていた結果のように捉える書込み

お前、正直なところ三流校出のバカだろ?

234
デフォルトの名無しさん[sage]   投稿日:2015/04/22 18:37:50  ID:IeAOuSb9.net(2)
反応早いってのは3分以内の即レスのことだと思ってたが

235
デフォルトの名無しさん[sage]   投稿日:2015/04/22 19:09:37  ID:uNA8aI7O.net
流れ的に質問者は完全にスルーしてるから粘着もクソも無い
むしろスルーされた方がネチネチしてるようにしか見えないかな

質問者もスルーせずにとりあえずありがとうって言っとけば揉めなかったかと

236
デフォルトの名無しさん[sage]   投稿日:2015/04/22 19:28:21  ID:o5L/4a6p.net
何かややこしいな

237
デフォルトの名無しさん[sage]   投稿日:2015/04/22 22:38:48  ID:XkZiXWpc.net

238
デフォルトの名無しさん[sage]   投稿日:2015/04/22 23:02:35  ID:7y5euhIj.net(2)
人格障害のサンプルが見られると聞いて

239
デフォルトの名無しさん[sage]   投稿日:2015/04/22 23:23:23  ID:vB5eM/wE.net
人格障害って……
でも何となくキモいのはわかる

240
デフォルトの名無しさん[sage]   投稿日:2015/04/22 23:51:45  ID:7y5euhIj.net(2)
てかここ何のスレよ?

241
デフォルトの名無しさん[sage]   投稿日:2015/04/23 00:14:27  ID:IHo868ch.net
糞スレ

242
デフォルトの名無しさん[sage]   投稿日:2015/04/23 00:16:21  ID:rgJFe9Rl.net
今盛んに書き込んでる粘着質が特にキモいからこんなことになってる

243
デフォルトの名無しさん[sage]   投稿日:2015/04/23 00:27:07  ID:TW4vsH3m.net
良スレ

244
デフォルトの名無しさん[sage]   投稿日:2015/04/23 00:40:51  ID:9y08pkDt.net
粘着すなや納豆野郎めキモイ臭い

245
デフォルトの名無しさん[sage]   投稿日:2015/05/03 09:12:25  ID:W5pi5FGq.net
正規表現を使いたいことができたので調べ始めたんだけどまだよくわからん。難しいねw
素人感まるだしで悪いんだけど・・・・
たとえば、windows、windows7、windows8にはマッチするけどwindows9にはマッチしない
ってのをVBScriptで書きたい場合、どうすれば?

246
デフォルトの名無しさん[sage]   投稿日:2015/05/03 12:26:13  ID:dtSDLNqf.net
こういう質問をする時点でアレだからプログラミングを諦めたほうがいい。向いてない。

247
デフォルトの名無しさん[sage]   投稿日:2015/05/07 01:03:12  ID:CSFF77Jn.net
C++ソースコードのある識別子fooがコメントアウトされていないものだけ検索したい
どうかけばいいのかしらん

248
デフォルトの名無しさん[sage]   投稿日:2015/05/07 04:38:47  ID:KWxpubgK.net
(´・ω・`)

249
デフォルトの名無しさん[sage]   投稿日:2015/05/07 04:50:46  ID:g+M5o00N.net
<丶`∀´>

250
デフォルトの名無しさん[sage]   投稿日:2015/05/11 17:38:17  ID:FHnjcDlC.net
5桁の半角数字のみの正規表現教えて

251
デフォルトの名無しさん[sage]   投稿日:2015/05/11 18:26:38  ID:ms0beSWo.net
[0123456789][0123456789][0123456789][0123456789][0123456789]

252
デフォルトの名無しさん[sage]   投稿日:2015/05/11 19:02:35  ID:pzzpMI4X.net

253
デフォルトの名無しさん[sage]   投稿日:2015/05/11 19:19:56  ID:63MVUzJa.net
括弧があるじゃないかやり直し

254
デフォルトの名無しさん[sage]   投稿日:2015/05/11 22:51:12  ID:evljERBy.net
(?<!\d)\d{5}(?!\d)

255
デフォルトの名無しさん[sage]   投稿日:2015/05/12 08:16:56  ID:Yu+KI6R4.net
12345
以下続く

256
デフォルトの名無しさん[sage]   投稿日:2015/05/15 07:00:13  ID:w0X/ZpcK.net(6)
https://msdn.microsoft.com/ja-jp/library/bb982821.aspx

// (3) with wchar_t*
const wchar_t* target3 = L"2014-04-02";
wcmatch wideMatch2;

// LR"(...)" is a raw wide-string literal. Open and close parens
// are delimiters, not string elements.
wregex wrx2(LR"(\d{4}(-|/)\d{2}(-|/)\d{2})");
if (regex_match(target3, wideMatch2, wrx2))
{
wcout << L"Matching text: " << wideMatch2.str() << endl;
}

を改造して、
wregex wrx2(LR"((\d{4})(-|/)(\d{2})(-|/)(\d{2}))");
にしたら、マッチした部分文字列を取り出せたのですが、
取り出したいのは数字だけなのですが、不要なハイホンもマッチ結果に保管されます。
このハイホンはマッチ結果に保存しないようにすることは可能でしょうか?
(まあ、ハイホンが保管されても特に問題はないのですが)
よろしく。

257
デフォルトの名無しさん[sage]   投稿日:2015/05/15 08:16:47  ID:TXnVGLlF.net
$1$3$5と読み飛ばすだけでいいと思うけど気になるなら(?:-|/)

258
デフォルトの名無しさん[sage]   投稿日:2015/05/15 09:02:09  ID:w0X/ZpcK.net(6)
上手く行きました。
ありがとうございます。

259
デフォルトの名無しさん[sage]   投稿日:2015/05/15 10:15:54  ID:aj2PgN2o.net(2)
横邸福・ω・`)

260
デフォルトの名無しさん[sage]   投稿日:2015/05/15 11:05:59  ID:w0X/ZpcK.net(6)
追加で質問なのですが、

"2014-04-02-432-6563-423-12321-131"
"24-0-02-2-656"

みたいに、いくつかの数字がハイホンで連結されている場合には
wregex wrx2
の部分をどのように書けば、全ての数字をマッチ結果に保存できますか?

261
デフォルトの名無しさん[sage]   投稿日:2015/05/15 11:24:01  ID:qhocNerh.net
ハイフンをヌル置換じゃダメ

262
デフォルトの名無しさん[sage]   投稿日:2015/05/15 11:58:58  ID:w0X/ZpcK.net(6)
>ハイフンをヌル置換じゃダメ
うまく行きませんでした。
数字の桁数が2ケタとか4ケタとか固定じゃなくて、
任意の場合の記述方法が分かりません。

263
デフォルトの名無しさん[sage]   投稿日:2015/05/15 12:20:10  ID:aj2PgN2o.net(2)
だめか(´・ω・`)

264
デフォルトの名無しさん[sage]   投稿日:2015/05/15 12:34:58  ID:eanAkoyi.net(2)
こーゆー事では無いの?
(\d*\d)

265
デフォルトの名無しさん[sage]   投稿日:2015/05/15 12:49:41  ID:w0X/ZpcK.net(6)
wregex wrx2(LR"((\d*\d)(?:-)(\d*\d)(?:-)(\d*\d)(?:-)(\d*\d)(?:-)(\d*\d).*)");
って書いたら、最初の5つまでは取得できましたが、
これを任意の回数にマッチさせるパターンの書き方が分かりません。

266
デフォルトの名無しさん[sage]   投稿日:2015/05/15 13:09:27  ID:eanAkoyi.net(2)
Cは全然知らないんだけど、(\d*\d) だけで全マッチさせて拾うのでは駄目なの?

267
デフォルトの名無しさん[sage]   投稿日:2015/05/15 13:23:33  ID:n/oco/hf.net
知らんがな(´・ω・`)

268
デフォルトの名無しさん[sage]   投稿日:2015/05/15 16:35:50  ID:XJBM+btE.net(3)
なにも一発で求めなくてもC言語ならループさせるなりどうとでもできるだろ
ハイフン込みでいいなら、([-\d]+)で求めて、-で分離するなり取り除くなりすればいい
コメント1件

269
デフォルトの名無しさん[sage]   投稿日:2015/05/15 16:47:21  ID:XJBM+btE.net(3)
数字で始まって-で繋がる数字で終わる文字列に限定するなら
(\d(?:\d|(?:-(?=\d)))+)
かな、もっと簡単に書ける気もするけど

270
デフォルトの名無しさん[sage]   投稿日:2015/05/15 16:49:46  ID:XJBM+btE.net(3)
(\d(?:\d|(?:-(?=\d)))*)

271
デフォルトの名無しさん[sage]   投稿日:2015/05/15 17:37:55  ID:w0X/ZpcK.net(6)
みなさん、いろいろとアドバイスありがとうございました。
自分でも試行錯誤しましたが、結局断念しました。
>268
>なにも一発で求めなくてもC言語ならループさせるなりどうとでもできるだろ
そうですね。そうします。

272
デフォルトの名無しさん[sage]   投稿日:2015/05/15 17:50:59  ID:WJgPFaVv.net
(´・ω・)カワイソス

273
デフォルトの名無しさん[sage]   投稿日:2015/05/15 18:03:13  ID:nH6peFvN.net
(´・ω・)スパルタカス

274
デフォルトの名無しさん[]   投稿日:2015/05/16 21:51:20  ID:waTp+O7j.net
日付形式にマッチする文字クラスみたいなのってある?

275
デフォルトの名無しさん[sage]   投稿日:2015/05/17 22:05:02  ID:f7tBG1RD.net
ないだろうね

276
デフォルトの名無しさん[sage]   投稿日:2015/05/17 22:41:31  ID:F5DyJPEi.net
(´・ω・`)ナイアルトテップ

277
デフォルトの名無しさん[sage]   投稿日:2015/05/17 23:25:30  ID:NogDQirr.net
クラスを自作することは出来る

278
デフォルトの名無しさん[sage]   投稿日:2015/05/18 00:17:43  ID:aboaa/ud.net
(´・ω・)カワイソス

279
デフォルトの名無しさん[sage]   投稿日:2015/05/18 00:24:27  ID:NNjuzHYB.net
('A`)

280
デフォルトの名無しさん[sage]   投稿日:2015/05/18 00:33:09  ID:PvUoWUSA.net
てs

281
デフォルトの名無しさん[sage]   投稿日:2015/05/18 00:44:01  ID:tlRKuzqk.net
( ^ω^)

282
デフォルトの名無しさん[sage]   投稿日:2015/05/18 07:15:32  ID:/pm0ymIf.net
(  ^ω^)

283
デフォルトの名無しさん[]   投稿日:2015/05/19 17:40:59  ID:pDngogl+.net(2)
すいませんソフトスレでした質問なんですが、返答がなかったので、こちらでも質問させてください
正規表現の記述を出力し、テキストに一覧表示出来るソフトは無いでしょうか
例えば   [山河篠][田崎][幸考]?太郎   と記述し、出力すると
山田太郎
山田幸太郎
山田考太郎
山崎太郎
山崎幸太郎
山崎考太郎
河崎太郎
河崎幸太郎
河崎考太郎
といった様に、可能性が有る組み合わせを、全て生成してくれるソフトです
文章から一致する文字列を抽出するのは、テキストエディタで出来るのですが、逆に生成してくれるソフトが中々見つかりません
Webサービスでも探しても見つからなかったのですが、やはり無いのでしょうか
コメント2件

284
デフォルトの名無しさん[sage]   投稿日:2015/05/19 17:51:26  ID:RvvxxJQN.net
>283
汎用的なものは無いだろうと思う
ちょっと考えても.*とか[^山]*とかどうすりゃいいんだって感じだし
コメント1件

285
デフォルトの名無しさん[sage]   投稿日:2015/05/19 18:04:14  ID:0y3JMzOX.net
お題スレとかに書いたら作ってくれるんじゃねーの?
*とか+は なしで

286
デフォルトの名無しさん[sage]   投稿日:2015/05/19 18:54:08  ID:qRFBYv8T.net
>283
何に使うんですか?
コメント1件

287
デフォルトの名無しさん[sage]   投稿日:2015/05/19 19:59:18  ID:sIY+TIEW.net
犯罪の気配がする
コメント1件

288
デフォルトの名無しさん[sage]   投稿日:2015/05/19 21:30:16  ID:b04N7yj8.net
ブレース展開かませりゃいいよ

289
デフォルトの名無しさん[]   投稿日:2015/05/19 21:55:47  ID:pDngogl+.net(2)
>284
ですよね、そう思います
>286
>287
エクセル使ってる最中に出来たらいいなと思ってですね
確かに自動勧誘メールとかに悪用出来そうですよね、もちろんそんなつもりでは無いです
結構ググったんですが、やっぱりなさそうですね

290
デフォルトの名無しさん[sage]   投稿日:2015/05/20 00:04:09  ID:Rygsv9Vj.net
Python, Rubyの順列組合せでは出来ないの?

291
デフォルトの名無しさん[sage]   投稿日:2015/05/20 00:19:29  ID:tL6MR9K5.net(2)
(´・ω・`)

292
デフォルトの名無しさん[sage]   投稿日:2015/05/20 00:29:01  ID:HZUEcace.net
( ^ω^)

293
デフォルトの名無しさん[sage]   投稿日:2015/05/20 00:42:56  ID:Hzr/Ms6e.net
てs

294
デフォルトの名無しさん[sage]   投稿日:2015/05/20 00:54:41  ID:UZQEX6U+.net(2)
fff

295
デフォルトの名無しさん[sage]   投稿日:2015/05/20 01:04:00  ID:UZQEX6U+.net(2)
www

296
デフォルトの名無しさん[sage]   投稿日:2015/05/20 01:16:00  ID:BBojVYXe.net
〈`-J-´〉

297
デフォルトの名無しさん[sage]   投稿日:2015/05/20 01:31:29  ID:tL6MR9K5.net(2)
/(^o^)\

298
デフォルトの名無しさん[sage]   投稿日:2015/05/20 01:42:35  ID:tVrKmL0A.net(2)
/^o^\

299
デフォルトの名無しさん[sage]   投稿日:2015/05/20 01:46:38  ID:tVrKmL0A.net(2)
www

300
デフォルトの名無しさん[sage]   投稿日:2015/05/20 01:56:02  ID:uXKQ4FyQ.net
(´・ω・`)

301
デフォルトの名無しさん[sage]   投稿日:2015/05/20 02:06:54  ID:aDjtDGP1.net(3)
( ^ω^)

302
デフォルトの名無しさん[sage]   投稿日:2015/05/20 02:26:42  ID:aDjtDGP1.net(3)
test

303
デフォルトの名無しさん[sage]   投稿日:2015/05/20 11:08:00  ID:ArKPAS29.net

304
デフォルトの名無しさん[sage]   投稿日:2015/05/20 11:15:02  ID:aDjtDGP1.net(3)
てs

305
デフォルトの名無しさん[sage]   投稿日:2015/05/21 21:53:31  ID:1cv2xDVM.net
●Regular Expressionの使用環境
Perl5互換
●検索か置換か?
検索
●説明
str1は()以外すべての文字
str2は()を含むすべての文字
●対象データ
str1(str2)
●希望する結果
str1とstr2を抽出

お願いします

306
デフォルトの名無しさん[sage]   投稿日:2015/05/21 23:16:42  ID:tuJ/O346.net
/([^()]+)\(([^()]*|(?R))\)/
コメント1件

307
デフォルトの名無しさん[sage]   投稿日:2015/05/21 23:29:24  ID:aNkERRn/.net
入れ子はどうするの?
/* */などの複数行コメントの内外grepに通じるよく有る話題に通じるけど
素直にパースしたほうがシンプルなんだね

308
デフォルトの名無しさん[sage]   投稿日:2015/05/22 00:06:17  ID:/kqqrT4G.net
>306
ありがとうございます

309
デフォルトの名無しさん[sage]   投稿日:2015/05/22 00:20:32  ID:hdEJwUCo.net(2)
('A`)

310
デフォルトの名無しさん[sage]   投稿日:2015/05/22 00:26:20  ID:hdEJwUCo.net(2)
(´・ω・`)

311
デフォルトの名無しさん[sage]   投稿日:2015/05/22 00:52:03  ID:btDGvIRc.net
( ^ω^)

312
デフォルトの名無しさん[sage]   投稿日:2015/05/26 02:41:41  ID:9gI1t1nu.net(2)
. 以外の単語境界みたいな表現はどう書くのでしょうか?
要するに \bAAA\b だと
"AAA.BBB"
"CCC.AAA.BBB"
" AAA.BBB"
などの"AAA"にマッチしますが、私が必要なのは1番目と3番目であり、
前方に . のある2番目のAAAにはマッチさせたくないのです。

313
デフォルトの名無しさん[sage]   投稿日:2015/05/26 03:25:13  ID:e/f1T0i0M
/^\s*(AAA\b)/gm

314
デフォルトの名無しさん[sage]   投稿日:2015/05/26 06:14:57  ID:EmTJSxVp.net
('A`)

315
デフォルトの名無しさん[sage]   投稿日:2015/05/26 06:35:03  ID:/NwdkIp2.net
テスト

316
デフォルトの名無しさん[sage]   投稿日:2015/05/26 10:45:25  ID:4rWweJ5K.net
(?<!\.)\bAAA\b
コメント1件

317
デフォルトの名無しさん[sage]   投稿日:2015/05/26 10:51:38  ID:9gI1t1nu.net(2)
>316
なるほど!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
さんきゅうーーーーーーーーーー

318
デフォルトの名無しさん[sage]   投稿日:2015/05/31 05:22:51  ID:k76huIjd.net
●Regular Expressionの使用環境
PowerShell

●検索か置換か?
検索

●説明
日付表記を抽出したい

●対象データ
13.06.21 foo
7 february 2012 foo
foo 2015-06-04 bar
foo Jan 16, 2012

●希望する結果
13.06.21 foo
^^^^^^^^
7 february 2012 foo
^^^^^^^^^^^^^^^
foo 2015-06-04 bar
   ^^^^^^^^^^^
foo Jan 16, 2012
   ^^^^^^^^^^^^

これらは特にルールもなく作られたファイル名の一部ですが見づらいので表記を統一したいと思いました
変換は.NetのDateTimeクラスでやる予定なのでここでは年月日の区別なしに文字列の抽出のみが目的です
コメント1件

319
デフォルトの名無しさん[sage]   投稿日:2015/05/31 08:57:58  ID:ikGkJsH4.net
てs

320
デフォルトの名無しさん[sage]   投稿日:2015/05/31 09:05:22  ID:EMPnbEd0.net
てs(´・ω・`)

321
デフォルトの名無しさん[sage]   投稿日:2015/05/31 09:13:45  ID:LVxbP9Fj.net
hhh

322
デフォルトの名無しさん[sage]   投稿日:2015/06/01 01:07:54  ID:KDj/YOE03
>318
> これらは特にルールもなく作られたファイル名
答え出てるじゃないのよ
愚直に列挙するしかない

323
デフォルトの名無しさん[sage]   投稿日:2015/06/01 01:59:02  ID:CikCK20O.net(3)
VB.NETとかEXCELのVBAなどでは漢字、平仮名、カタカナなどを変数名に使ってもいいですよね。
そういう変数にマッチする正規表現を書きたいのですが、
漢字だと、"亜-龠"でいいそうですが、あとは平仮名、カタカナなども入れて
[亜-龠あ-んア-ンアーンa-zA-Z][亜-龠あ-んア-ンアーンa-zA-Z0-9]*
ってやったのですが、これで試したらマッチしない場合が有るんですが、何かおかしいですか?

324
デフォルトの名無しさん[sage]   投稿日:2015/06/01 02:07:20  ID:29A8lhcJ.net
マッチしなかった場合の変数名を見て
自分で理由を考えることはしないの?

325
デフォルトの名無しさん[sage]   投稿日:2015/06/01 02:14:19  ID:CikCK20O.net(3)
終了処理
っていう文字列にマッチしなかった
んだが理由が分からん。

326
デフォルトの名無しさん[sage]   投稿日:2015/06/01 08:41:35  ID:CikCK20O.net(3)
その後調べたんですが、全部の漢字にマッチさせるには、
[一-龠々]
でいいんでしょうか?
でもこれに変えたら今度はregexの処理中に例外が出ました。VS2013C++です。
もう訳分からない。だれか正規表現の専門家の人、解決策を教えて下さい。
よろしく。
コメント1件

327
デフォルトの名無しさん[sage]   投稿日:2015/06/01 18:43:06  ID:MBU7fCss.net
DFA型エンジンが後方参照をサポートしない理由はDFAが記憶領域を持たないから
であってる?
コメント1件

328
デフォルトの名無しさん[sage]   投稿日:2015/06/02 21:52:01  ID:zQHp25BH.net
>326
[一-] で一度やってみて。
「々」も含めるなら [一-々] で。
(「鶴」じゃないよ、「」だよ。
違いわかんなかったら手入力せずに
コピーして使ってみて)

329
デフォルトの名無しさん[sage]   投稿日:2015/06/05 12:52:40  ID:PPi1ASxW.net(2)
C++のソースコード内からint変数fooに代入している箇所を検索するにはどういった表現になりますか?
コメントとなっている箇所はマッチして欲しくないです。つまり

//foo=0;

/*
foo=0;
*/

int bar;
bar/*foo*/=0;

はマッチして欲しくありません
コメント3件

330
デフォルトの名無しさん[sage]   投稿日:2015/06/05 13:16:48  ID:pL4Ru2oZ.net(2)
( ^ω^)

331
デフォルトの名無しさん[sage]   投稿日:2015/06/05 13:18:52  ID:pL4Ru2oZ.net(2)
('A`)

332
デフォルトの名無しさん[sage]   投稿日:2015/06/05 13:25:45  ID:VPPIvYe4.net
        ∧_∧
 ⊂≡⊂=(・ω・ )  上弱P食らわしてやんよ
   ⊂=⊂≡ ⊂)
    ババババ(    \
        ∪ ̄\_)

333
デフォルトの名無しさん[sage]   投稿日:2015/06/05 13:33:10  ID:uVxucrbL.net
(o'A`)

334
デフォルトの名無しさん[sage]   投稿日:2015/06/05 13:33:33  ID:Fs4MPP1/.net
>329
正規表現ではそのような複雑な表現はできませんよ。

335
デフォルトの名無しさん[sage]   投稿日:2015/06/05 14:14:06  ID:ual2rfpV.net
コメント全部削除 → 検索

の流れでなら簡単に作れるからそうすればいいんじゃないかな。
作り方は

1、正規表現を覚える
2、作る

以上。
コメント1件

336
デフォルトの名無しさん[sage]   投稿日:2015/06/05 16:51:22  ID:KqxzyY/b.net
>327
に誰か答えてほしい

337
デフォルトの名無しさん[sage]   投稿日:2015/06/05 21:58:09  ID:b/z9D2Ur.net
森鴎外叱る

338
デフォルトの名無しさん[sage]   投稿日:2015/06/05 23:09:54  ID:PPi1ASxW.net(2)
>335
高々ある変数に代入している箇所を検索するのに
スクリプトなんかを書かなきゃ駄目ですか?

あるプログラムのデバッグをしてる最中に、あらたなるプログラムを作成して
デバッグしてやっと本デバッグプログラムの検索か・・・

339
デフォルトの名無しさん[sage]   投稿日:2015/06/06 01:02:20  ID:DXSt7rl7.net(6)
>329
かけないことはないだろうけど
それを書けるような猛者はここにはいないよ

一応挑戦してみるが、結構難しいな

340
デフォルトの名無しさん[sage]   投稿日:2015/06/06 01:30:56  ID:36T2EiFK.net(3)
スクリプトなんていらないよ、テキストエディタでも出来る

1、正規表現でコメントを全部消す

2、その結果から変数を検索

簡単簡単
コメント1件

341
デフォルトの名無しさん[sage]   投稿日:2015/06/06 01:48:26  ID:DXSt7rl7.net(6)
それじゃカッコワルイじゃないですか
一発で検索したくないですか?
しかも、検索対象のファイルを変更するのが嫌でしょ

わざわざ検索するためだけに、別ファイルを用意しますか?w

342
デフォルトの名無しさん[sage]   投稿日:2015/06/06 03:15:09  ID:1eZuzqWlY
定番どころのエディタやIDEだと
コメント除外のgrepはなんらかの形で対応してるから
それでざっくり当たりつけて
あとはメモリブレークでいいんじゃないのかね

343
デフォルトの名無しさん[sage]   投稿日:2015/06/06 12:08:10  ID:ncV7zKIY.net
C++は /* */のコメントのネスト禁止だっけ? /* /* */でコメントは閉じる的な

344
デフォルトの名無しさん[sage]   投稿日:2015/06/06 14:35:23  ID:N7nz1eGU.net
>340
エディタを使うんならコメントを消す処理なんかいらないよ。
コメント部分は検索させないようにするオプションを持ったエディタがいくつか存在する。
mifes10
http://www.megasoft.co.jp/mifes10/function/img/searchfunc06.png
秀丸
http://hide.maruo.co.jp/software/hidemaru7/image/new4_4.png
コメント2件

345
デフォルトの名無しさん[sage]   投稿日:2015/06/06 14:44:15  ID:DXSt7rl7.net(6)
>344
ここのタイトルを2回声に出してよんでください。
テキストエディタの機能できるのは当たり前

346
デフォルトの名無しさん[sage]   投稿日:2015/06/06 17:44:06  ID:36T2EiFK.net(3)
>344
なんだ、そういうのがあったのか。ハイ、終了〜

347
デフォルトの名無しさん[sage]   投稿日:2015/06/06 18:16:43  ID:UAwz6Eis.net
('A`)

348
デフォルトの名無しさん[sage]   投稿日:2015/06/06 18:31:15  ID:er0p5JpR.net
EmEditorは?

349
デフォルトの名無しさん[sage]   投稿日:2015/06/06 19:11:52  ID:DXSt7rl7.net(6)
既存のソフトできるなら、お前らは何のためにプログラムを作っているの?
誰も実装できていないソフトしか作っていないの?
コメント1件

350
デフォルトの名無しさん[sage]   投稿日:2015/06/06 19:28:09  ID:Pg7CH/dm.net
適材適所で使う場合と使わない場合があるもんだよ
なんでもかんでも使わなければならないってのは思考が凝り固まってて
プログラミングするのには向いてないから止めとけ

351
デフォルトの名無しさん[sage]   投稿日:2015/06/06 19:30:28  ID:lEehlEWR.net(2)
(((( ;゚Д゚))))

352
デフォルトの名無しさん[sage]   投稿日:2015/06/06 19:52:34  ID:IVsptkgW.net(4)
>349
あほか

353
デフォルトの名無しさん[sage]   投稿日:2015/06/06 21:03:11  ID:DXSt7rl7.net(6)
涙拭いて、できないって素直に言えよhw
コメント1件

354
デフォルトの名無しさん[sage]   投稿日:2015/06/06 21:08:16  ID:DXSt7rl7.net(6)
テキストエディタって銘打ってるんだから、バイナリ編集とかどうでもいい機能つけずに
検索をもっと便利にしてくれ・・・

CC++のコメント中は対象外とか、#ifdef中は対象外とか、文字列定数中は対象外とか
あいまい検索とか・・・
18000円もするテキストエディタとは思えんしょぼ検索しかできん・・・
コメント1件

355
デフォルトの名無しさん[sage]   投稿日:2015/06/06 21:20:08  ID:cMy/WvKO.net(2)
まぁ、そういうテキストエディタが見当たらないってことは
君の考えは世間に支持されてないってことなんだろう

356
デフォルトの名無しさん[sage]   投稿日:2015/06/06 21:25:56  ID:IVsptkgW.net(4)
>353
おまえ、自分のバカさがわかってないようだな
専門学校卒か?

357
デフォルトの名無しさん[sage]   投稿日:2015/06/06 21:26:59  ID:IVsptkgW.net(4)
>354
こりゃ馬鹿だわ
笑った笑った
おまえ、マクロで組むことさえできんのか?

358
デフォルトの名無しさん[sage]   投稿日:2015/06/06 21:36:52  ID:36T2EiFK.net(3)
俺はマグロでこんなの組んだわ
http://images.keizai.biz/ishigaki_keizai/headline/1411604917.jpg

359
デフォルトの名無しさん[sage]   投稿日:2015/06/06 21:53:28  ID:IVsptkgW.net(4)
俺の愛用エディタはxyzzyだからマクロはリスプ
もう、女アヘアヘでカモンプスリと言いまくり
英語いうとCommon Pussy かな?
Σ(゚∀゚ノ)ノキャー

360
デフォルトの名無しさん[sage]   投稿日:2015/06/06 22:17:57  ID:lEehlEWR.net(2)
('A`)

361
デフォルトの名無しさん[sage]   投稿日:2015/06/06 22:39:04  ID:ui2otBpE.net
俺はMery使ってる

362
デフォルトの名無しさん[sage]   投稿日:2015/06/06 23:13:17  ID:kQ/b4dm+.net
俺はEmEditor
コメント1件

363
デフォルトの名無しさん[sage]   投稿日:2015/06/06 23:21:19  ID:KHffJxSC.net
\(^o^)/

364
デフォルトの名無しさん[sage]   投稿日:2015/06/06 23:23:37  ID:cMy/WvKO.net(2)
>362
ご愁傷様です

365
デフォルトの名無しさん[sage]   投稿日:2015/06/06 23:37:14  ID:UhJI1pbU.net
俺はvi

366
デフォルトの名無しさん[sage]   投稿日:2015/06/07 18:05:00  ID:BED/WPPF.net
vs2013最強だな

367
デフォルトの名無しさん[sage]   投稿日:2015/06/09 11:25:31  ID:DVsQoV68.net(2)
あるテキストファイルの中の文字列を置換したいのですが、
その置換前、置換後の文字列の対応表を別の設定ファイル
---設定ファイル.txt---
寿司   くいねー
うに   食べたい
河童巻き   好物
・・・
---------------------
みたいに作成しておいて、

 replace  目的ファイル.txt 設定ファイル.txt > 結果ファイル.txt

みたいな感じでやりたいのですが、そういうツールか何かありますか?
できればWindows、なければ linuxでもOKです。
よろしく。
コメント2件

368
デフォルトの名無しさん[sage]   投稿日:2015/06/09 11:30:28  ID:uFdJ1boh.net(2)
>329
改行キープして先ずはコメントだけ消す。
もしくはプリプロセッサ通すか。

369
デフォルトの名無しさん[]   投稿日:2015/06/09 15:07:38  ID:9FRXqzT5.net(2)

370
デフォルトの名無しさん[sage]   投稿日:2015/06/09 16:15:21  ID:DVsQoV68.net(2)
>369
出来れば、もすこし詳しくお願いします。

371
デフォルトの名無しさん[]   投稿日:2015/06/09 16:23:53  ID:9FRXqzT5.net(2)
Aho
Waka
Kasu

372
デフォルトの名無しさん[sage]   投稿日:2015/06/09 16:48:22  ID:beQM3dhk.net
www

373
デフォルトの名無しさん[sage]   投稿日:2015/06/09 21:08:22  ID:uFdJ1boh.net(2)
若?

374
デフォルトの名無しさん[sage]   投稿日:2015/06/09 21:13:30  ID:J0bC0FT3.net
waka

375
デフォルトの名無しさん[sage]   投稿日:2015/06/10 16:22:42  ID:fWBwznRJ.net
VS2013C++の人か、回答レス付いてるのにスルーしてるしなんなのこいつ

376
デフォルトの名無しさん[]   投稿日:2015/07/05 13:37:02  ID:sKAHM/R7.net
他のスレでも聞いたのですが余り見て貰ってないような気がするので、ここでも聞かせてください。


以前見た正規表現のパズルサイトを探しています

そのサイトは英語のサイトで、デザインはこんな感じです。

---------------------------------------
以下に当てはまる正規表現は何か(<-英語で書かれています)

___________<-ここに書き込む     0<-ポイント

 (当てはまる) (当てはまらない)
 AAA      FCD
 ABC      FGH
 ACD      FGK
---------------------------------------

短ければ短いほどポイントが加算されていくと言った、
こんな感じだったと思います。

よろしくお願いします
コメント1件

377
デフォルトの名無しさん[sage]   投稿日:2015/07/05 13:53:34  ID:tVdhCBhpS

378
デフォルトの名無しさん[sage]   投稿日:2015/07/05 15:47:00  ID:XIvEwRaJ.net
>367
awk なら、getline で、辞書を1行ずつ読んで、
置換前・置換後の文字列を取得する

gsub で、すべてを置換していく

でも文字列処理なら、Rubyがベスト。
他には、Pythonとか


ただこの処理は、置換する順番によって、
結果が変わる

例えば、「あいう」→「かきく」の置換後、
「かき」が置換前文字列に該当し、置換されるかも

379
デフォルトの名無しさん[sage]   投稿日:2015/07/05 21:27:23  ID:8iLtGCDs.net
>376
これ?
http://regex.alf.nu/

あと、複数箇所に同じ質問を投稿するのは「マルチポスト」といって、嫌う人も多いのでやめたほうがよい
コメント1件

380
デフォルトの名無しさん[sage]   投稿日:2015/07/05 21:43:42  ID:70VDGlmK.net(2)
マルチポスト嫌う奴って何に怒っているのか不思議だよなあ。同じ質問を十箇所でする方が回答得られる確率が上がるだろ。
それの何が問題なのか、分からん。

381
デフォルトの名無しさん[sage]   投稿日:2015/07/05 21:56:30  ID:YfZOtl+L.net
分からんのは童貞だからだ。割とマジで
非童貞非処女だとすれば相当ヤバい
コメント1件

382
デフォルトの名無しさん[sage]   投稿日:2015/07/05 22:01:39  ID:70VDGlmK.net(2)
>381
世の中情報で溢れているのに
マルチポスト嫌ったところで
屁のツッパリにもならない。

383
デフォルトの名無しさん[sage]   投稿日:2015/07/05 23:50:33  ID:7d6Itz6/.net
あああのサイトか、見たことある
でもあんまり正規表現の学習にはならないような気がする

正規表現を覚えたいなら作って試してを繰り返さないとね

384
デフォルトの名無しさん[sage]   投稿日:2015/07/06 01:41:38  ID:lhd6PF02.net
文句は2ちゃんをクロスポストに対応させてから言え

385
デフォルトの名無しさん[sage]   投稿日:2015/07/06 03:32:50  ID:gmiPbzXR.net
Regular Expression(正規表現) Part13
みたいに、
質問する者が一番最初に書いたスレのレス番付きURLを書けば、回答者は一番最初に書かれたスレへ移動して解答できる訳だが
まぁ今回のクロスを見る限り、そういうのは起こりえないな

クロスポストが嫌われる理由は、回答者が同じような事を各々のスレで行う二度手間と質問に対する解答が分散する事での情報の共有が起こらない事
過疎ってるスレによっては、質問されてからクロスされて別スレで解答が付いているにもかかわらず同じ解答が何ヶ月も後になって付くとかね

386
デフォルトの名無しさん[sage]   投稿日:2015/07/06 08:26:10  ID:LAMrWff0.net
質問はいいだろう
答えをコピーして自分の手柄にする奴のほうが絶対的に多い

387
デフォルトの名無しさん[sage]   投稿日:2015/07/06 09:20:56  ID:PmLO0F5+.net
クロスポストって嫌われてたのか

388
デフォルトの名無しさん[sage]   投稿日:2015/07/06 09:28:03  ID:L6unJ2A5.net(2)
ツイッターの拡散とかいう文化のせいでそういうの気にしないやつ増えたかもな
自分の行動の影響ってのを考えようとしない子供が多い

389
デフォルトの名無しさん[sage]   投稿日:2015/07/06 12:23:11  ID:9pvabuWR.net
お前の行動にどんだけ影響力あんねんw
コメント1件

390
デフォルトの名無しさん[sage]   投稿日:2015/07/06 13:05:36  ID:L6unJ2A5.net(2)
>389
それが逃げだと言っている
でもだってあいつがはもうやめろ
コメント1件

391
デフォルトの名無しさん[sage]   投稿日:2015/07/06 13:22:29  ID:jRBtOUWL.net
(´・ω・)カワイソス

392
デフォルトの名無しさん[sage]   投稿日:2015/07/06 18:51:03  ID:mHy7mQ0q.net
>390
なに突然怒ってんのw面白い馬鹿だなお前ww

393
369[]   投稿日:2015/07/06 19:56:47  ID:EhiPaBaL.net
>379
これです!!!!!!!!!
ありがとうございます!!!
本当にありがとうございます!!

394
デフォルトの名無しさん[sage]   投稿日:2015/07/06 20:30:44  ID:sYr/dgVc.net
技術評論社の「正規表現技術入門」
いま少しずつ読んでるけどなかなかいいね
オライリーの「詳説正規表現」は通勤電車で読むにはでかすぎたから
しかしいっぺんにたくさん読もうとすると頭が拒否反応を起こすので遅々として進まない
コメント1件

395
デフォルトの名無しさん[sage]   投稿日:2015/07/06 22:02:35  ID:eLFiYoiP.net
>394
遅延学習法じゃないと俺は覚えられないわ。
すげーな。

396
デフォルトの名無しさん[sage]   投稿日:2015/07/10 09:55:54  ID:hzu9oSkn.net
ちょっと気になったんですが
[abc]と(?:a|b|c)って同じ?

397
デフォルトの名無しさん[sage]   投稿日:2015/07/10 15:19:23  ID:z/gFWW9M.net
処理速度は明らかに違うね。やってること違うんだから

398
デフォルトの名無しさん[sage]   投稿日:2015/07/10 15:29:45  ID:/ztBzBD5.net
(?:a|b|c) ←横たわった赤ちゃんが「てへ」って笑っているように見える。

399
デフォルトの名無しさん[sage]   投稿日:2015/07/10 16:53:22  ID:/TIw0VBH.net
_(:3」∠)_

こういうの意味不明だったけど
90度倒すんだってことを最近学んだ

400
デフォルトの名無しさん[sage]   投稿日:2015/07/11 03:21:59  ID:E8Ycm1mp.net
同じように見えて動作は異なる
同じ結果になることが多いけどね

後者は分岐で枝分かれするが前者はしない
枝分かれがあると他の枝に到達する前に処理が完了することがあり
それによって結果が異なるケースが出てくる

具体的には・・例を考えるのがめんどくさいので省略
コメント1件

401
デフォルトの名無しさん[sage]   投稿日:2015/07/11 05:26:15  ID:+YvowemZ.net
(:・p

わんわん

402
デフォルトの名無しさん[sage]   投稿日:2015/07/11 06:12:13  ID:coKbQ2xf.net
>400
速度以外で副作用あるなら例示してくれないと

403
デフォルトの名無しさん[sage]   投稿日:2015/07/13 13:45:40  ID:rgM8ybmA.net
一部の正規表現エンジンにある デフォルトungreedy やバックトラック無用オプションを使うと出来そうだが、

例出すのめんどくせいな。

404
デフォルトの名無しさん[sage]   投稿日:2015/07/14 21:46:45  ID:haTSgOk9.net
(a|b|c)?

あとはもう分かるね?

405
デフォルトの名無しさん[sage]   投稿日:2015/07/14 23:07:11  ID:D0NzobbPS
分らんなぁ

406
デフォルトの名無しさん[sage]   投稿日:2015/07/16 08:52:15  ID:+eUx92Zt.net
分かんない

407
デフォルトの名無しさん[sage]   投稿日:2015/07/26 19:36:44  ID:ItgeJjtc.net
●Regular Expressionの使用環境
Perl?

●検索か置換か?
検索

●説明
全角文字のあとにスペースをおかずURLが書いてあるものをチェックしたい

●対象データ
あいうえおhttp
あいうえお http
あいうえお http

●希望する結果
○あいうえおhttp
×あいうえお http
×あいうえお http
コメント1件

408
デフォルトの名無しさん[sage]   投稿日:2015/07/27 01:46:46  ID:oJMQ9Tqm.net
夏だねぇ。

409
デフォルトの名無しさん[sage]   投稿日:2015/07/27 01:59:27  ID:lCJIzle6.net
>407
/[^\s ]http/i

410
デフォルトの名無しさん[]   投稿日:2015/08/15 11:43:29  ID:R9fu6Ifz.net
質問です。
Objective-Cで
(1)文字列中の[0-9],「*」,「Z」以外の文字を半角スペースに置換えるには、
 どう記述すれば良いのでしょうか?
(2)同じ文字列中の別の文字(例えば「"」)も別の文字列(例えば「OK」)に置換えたい場合は、
 2回に分けて行わなければいけないのでしょうか?

よろしくお願い致します。

411
デフォルトの名無しさん[sage]   投稿日:2015/08/18 09:52:41  ID:zFueqOk6.net(4)
●Regular Expressionの使用環境
Mery(2.3.0.5095)というテキストエディタ

●検索か置換か?
検索

●説明
=の右側(後)のみ一致させたい

●対象データ
usb:0.port = "0"
usb:0.parent = "-1"
Button0=FileNewAction
Button1=FileOpenAction

●希望する結果
"0"
"-1"
FileNewAction
FileOpenAction

よろしくお願いします

412
402[sage]   投稿日:2015/08/18 09:54:23  ID:zFueqOk6.net(4)
●対象データ
usb:0.port_=_"0"
usb:0.parent_=_"-1"
Button0=FileNewAction
Button1=FileOpenAction

●希望する結果
_"0"
_"-1"
FileNewAction
FileOpenAction

半角スペースが消えてしまったので_(アンダースコア)に置き換えて投稿します

413
デフォルトの名無しさん[sage]   投稿日:2015/08/18 10:09:54  ID:E/WkoMWm.net
/[^=]*?=(.*)$/
コメント1件

414
402[sage]   投稿日:2015/08/18 10:20:45  ID:zFueqOk6.net(4)
>413
ありがとうございます
それだと全部に該当してしまい駄目でした

415
デフォルトの名無しさん[sage]   投稿日:2015/08/18 10:51:10  ID:3C1G6Y0R.net
/(?<=\=).*$/
コメント1件

416
402[sage]   投稿日:2015/08/18 10:55:39  ID:zFueqOk6.net(4)
>415
ありがとうございます
無事できました
どうもありがとうございました

417
デフォルトの名無しさん[sage]   投稿日:2015/08/19 07:30:33  ID:nmY/Lo3r.net(6)
JavaScriptで変数宣言の行

var a;
  var bb;
var ccc = 1;
/* comment */  var abc = 1;

などに対して
この変数名 a, bb, ccc, abc などを取り出したいのですが、

(?:.*)var ([^; ]*)(;| =).*"

で良いでしょうか?
以下の前提で。
varと変数の間には半角空白一個とします。
=の前後には半角空白一個とします。
行末には必ず;があるとします。

/* var */ var var1 = 'var';

みたいなややこしいのが有った場合には、上の表現では対処出来ないように思います。

もっとスマートな記述ありますか?

418
デフォルトの名無しさん[sage]   投稿日:2015/08/19 07:35:38  ID:nmY/Lo3r.net(6)
補足 一行に複数の宣言がある場合も想定しない。

var a,b;
var a;var b;
などは想定しない。

419
デフォルトの名無しさん[sage]   投稿日:2015/08/19 07:56:53  ID:2BnPkC6V.net(2)
コメントを考慮するなら正規表現一発では無理
s = 'var a = 1;';
// var a = 1;
/* var a = 1; */
/* // */ var a = 1;

420
デフォルトの名無しさん[sage]   投稿日:2015/08/19 08:03:06  ID:nmY/Lo3r.net(6)
コメントが有る場合は、
var の前に一個だけあるという前提でお願いします。

421
デフォルトの名無しさん[sage]   投稿日:2015/08/19 08:09:24  ID:hnj5IXaX.net
var a = '//ここは' /* + */ + 'コメントではない';
コメント1件

422
デフォルトの名無しさん[sage]   投稿日:2015/08/19 08:21:58  ID:nmY/Lo3r.net(6)
>421
演算も無いという前提でお願いします。
 var 変数;
  var 変数 = 初期値;
 /*コメント*/ var 変数;
  /*コメント*/ var 変数 = 初期値;
のどれかのパターン限定で。

423
デフォルトの名無しさん[sage]   投稿日:2015/08/19 08:26:11  ID:2BnPkC6V.net(2)
こういうのも無し?

/*
//
var a =1;
*/
コメント1件

424
デフォルトの名無しさん[sage]   投稿日:2015/08/19 08:34:16  ID:nmY/Lo3r.net(6)
>423
そういうのは無しでお願いします。

425
デフォルトの名無しさん[sage]   投稿日:2015/08/19 08:43:57  ID:nmY/Lo3r.net(6)
忘れていました。
処理系はc++のstd::regexかboost::regexで。

426
デフォルトの名無しさん[sage]   投稿日:2015/08/19 09:18:39  ID:8jY/tdOy.net
test

427
デフォルトの名無しさん[]   投稿日:2015/08/19 09:36:41  ID:NotHJ7I4.net(2)
●Regular Expressionの使用環境
Python 3.4

●検索か置換か?
検索

●説明
Aから始まってCで終わる(Aから最後のCの中には別のCを含まない)配列が欲しいです

●対象データ
"ABABBCBBBABBBBC"

●希望する結果
"ABABBC"
"ABBC"
"ABBBBC"



よろしくお願いいたします

428
デフォルトの名無しさん[sage]   投稿日:2015/08/19 15:03:59  ID:ABRvhkR2.net
"ABBC" をマッチさせたいならPythonのコードで検索開始位置を指定しなければいけないよ
それとAやCが1文字なのか文字列なのかで書き方がまったく異なるんだけどどっちかな

429
デフォルトの名無しさん[sage]   投稿日:2015/08/19 16:05:10  ID:1N+DcVii4
regexというモジュールを使うと楽だよ
>>> import regex as re
>>> re.findall(r'A[^C]*C', "ABABBCBBBABBBBC", overlapped=True)
['ABABBC', 'ABBC', 'ABBBBC']

430
デフォルトの名無しさん[sage]   投稿日:2015/08/19 21:54:24  ID:NotHJ7I4.net(2)
文字列です

431
デフォルトの名無しさん[sage]   投稿日:2015/08/20 02:06:15  ID:uDC2QM+h.net
A(?:(?!C).)*C

A、Cは文字列。検索するときのオプションは re.DOTALL

普通に検索すると "ABBC" がマッチしないのでマッチするようにコーディングを工夫しないといけない

前回マッチした文字列の先頭の位置 + 1 = 次回マッチを開始する位置

これを使って1マッチごとに検索開始位置を指定し直し、これを繰り返す
マッチするものが見つからなければ検索の繰り返しを終了するようにコーディングする
使うのは re.match でなく re.search。マッチした文字列の先頭は match.start()

432
デフォルトの名無しさん[sage]   投稿日:2015/08/20 02:13:38  ID:b7jGp5V2.net
ありがとうございます!

433
デフォルトの名無しさん[]   投稿日:2015/08/20 11:38:48  ID:vSASgIXr.net
正規表現って、狭義では
s/unko/chinko/m
でいう hoge の部分のことですよね

sの部分と mの部分は それぞれなんと呼べばいいのですか?
コメント2件

434
デフォルトの名無しさん[]   投稿日:2015/08/20 11:47:22  ID:pV6cw7bo.net
Where is hoge?

435
デフォルトの名無しさん[sage]   投稿日:2015/08/20 15:16:54  ID:Ku+dT2bO.net
Oh i dont found hage.

436
デフォルトの名無しさん[sage]   投稿日:2015/08/20 15:38:44  ID:lQ5EcHLA.net
>433
お前が正規表現だったのか

437
デフォルトの名無しさん[sage]   投稿日:2015/08/20 16:31:01  ID:/ofAbfuE.net
Palrez vous hoge?

438
デフォルトの名無しさん[sage]   投稿日:2015/08/21 00:40:07  ID:sdFrMS9Z.net
anko が足りないぞ

439
デフォルトの名無しさん[sage]   投稿日:2015/08/21 00:57:17  ID:l5C6fxn/.net
sayasayaもな

440
デフォルトの名無しさん[sage]   投稿日:2015/08/21 01:02:18  ID:RiErs0YC.net
>433
先頭のsの部分はoperationと呼ばれる。
末尾のmの部分はoptionだったかな。

perlでの話だけど。
コメント2件

441
デフォルトの名無しさん[sage]   投稿日:2015/08/21 04:29:04  ID:Y3ixC287.net
test

442
デフォルトの名無しさん[sage]   投稿日:2015/08/21 04:41:36  ID:dLGlSdT1.net
あーなるほど

443
デフォルトの名無しさん[sage]   投稿日:2015/08/21 08:27:46  ID:C9kOInGB.net(2)
>440
mなんて使えたっけ?pしか覚えてねえ。
コメント1件

444
デフォルトの名無しさん[sage]   投稿日:2015/08/21 08:29:47  ID:C9kOInGB.net(2)
あ、sedの話だった。perlは分からん。

445
デフォルトの名無しさん[sage]   投稿日:2015/08/21 08:35:06  ID:JFe3Ml2I.net
>443
multi lineのm
文字列内の改行を行末や行頭として扱うオプション。
java scriptでも使えた気がするよん。

446
デフォルトの名無しさん[sage]   投稿日:2015/08/21 12:24:19  ID:fG7y6P2l.net
Java Scriptでは、オプションとは言わずフラグと言ってる
gmiとy(Firefox 3で追加)の4つがある

447
デフォルトの名無しさん[sage]   投稿日:2015/08/22 16:26:06  ID:WBRo7qVL.net
>440
ありがとう
助かった

448
デフォルトの名無しさん[sage]   投稿日:2015/09/01 08:45:31  ID:lL9KDRTX.net
文字列の一行目にだけある正規表現を適用したい場合
どういう風に書けばいいでしょうか?

449
デフォルトの名無しさん[sage]   投稿日:2015/09/01 08:50:52  ID:dXN4Hx3i.net
\A を使いなさい

450
デフォルトの名無しさん[sage]   投稿日:2015/09/03 09:59:21  ID:7arkYUNT.net
鬼車のサイトが見れなくなってる

451
デフォルトの名無しさん[sage]   投稿日:2015/09/04 14:27:00  ID:hIocF1du.net
複数の単語が半角スペース、全角スペース、タブなど(一個あるいは複数個)で連結されているとして、それを半角スペース一個だけで連結したいんです。

452
デフォルトの名無しさん[sage]   投稿日:2015/09/04 14:38:16  ID:H2J+jlBE.net
[  \t]+

453
デフォルトの名無しさん[sage]   投稿日:2015/09/04 15:06:08  ID:OjSr213v.net
s/\s+/\s/
コメント1件

454
デフォルトの名無しさん[sage]   投稿日:2015/09/05 00:02:44  ID:Xqs3nieT.net
>453
処理系何?

455
デフォルトの名無しさん[sage]   投稿日:2015/09/05 00:49:32  ID:R93LeTtd.net
質問すらまともに出来ない奴が正規表現なんて無理

456
デフォルトの名無しさん[sage]   投稿日:2015/09/10 21:59:01  ID:qbjnfhqx.net
今まで任意の1文字は"."と覚えていたのですが
シングルラインでは"(?s)"
マルチラインでは"."
があると初めて知りました
シングルラインの記述はマルチラインと全く違いますが、シングルラインは1から覚えないと駄目なものなのでしょうか?

457
デフォルトの名無しさん[sage]   投稿日:2015/09/10 22:29:36  ID:K9e6sJjq.net
単にメタ文字の意味がちょっと変わるというだけ
マルチラインだからといって一行ごとに区切って処理されてるわけじゃなく、単にメタ文字の意味が変わるだけ
コメント1件

458
デフォルトの名無しさん[]   投稿日:2015/09/10 22:39:25  ID:CgmggGA3.net
これすごいと思った

var list = (function() {/*
ここに
任意の
文字列
*/}).toString().match(/\/\*([^]*)\*\//)[1];
コメント4件

459
デフォルトの名無しさん[sage]   投稿日:2015/09/10 23:22:04  ID:lE8lGtnC.net
>457
レスありがとうございます
意味が違う(マルチラインの意味を流用できない)ってことはやはりその意味を1から覚え直さないと駄目ってことなんですよね?
マルチラインだけの意味を理解しただけで喜んでいたことが恥ずかしい

460
デフォルトの名無しさん[sage]   投稿日:2015/09/11 00:23:03  ID:XlHAG1ZO.net
>458
良い事教えてもらった

461
デフォルトの名無しさん[sage]   投稿日:2015/09/11 00:23:58  ID:suCkJgnJ.net
別にマルチラインだけ覚えててシングルラインの動作を知らなくても困ることはないよ
余裕があったらシングルラインの動作も調べればいいし、必要無ければそのままでもいい

というかググればどういう違いがあるのか一目瞭然だから気になるならググろう
別に知らなくても困らないからマルチライン一本に絞ってやっていってもいいと思うけどね
コメント1件

462
デフォルトの名無しさん[sage]   投稿日:2015/09/11 01:29:00  ID:Dh6jgTtm.net
>461
ググって違いがあったことだけで具体的な違いはまだでした
正規表現はとても興味深いのでシングルラインは具体的にどう違うのか調べてみたいと思います
ありがとうございました

463
デフォルトの名無しさん[sage]   投稿日:2015/09/11 07:00:21  ID:GHVwR1ig.net(3)
>458
どうなるん?
コメント1件

464
デフォルトの名無しさん[]   投稿日:2015/09/11 17:05:24  ID:z9laoE0x.net
質問です(Perl)。
「yyyy年mm月dd日」形式の文字列を検索して、
yyyyとmmとddを別々の文字列として受け取りたい場合は、
どう書けば良いのでしょうか?
コメント1件

465
デフォルトの名無しさん[sage]   投稿日:2015/09/11 17:53:37  ID:jxONgP+h.net(4)
>463
間に書かれた(複数行の)文字列が変数listに代入される
が、
[^]*
の意味が判らない???
否定文字クラスが空?

WSHやIEだと(jscript)ダメ
鬼車やrubyでもダメ
[\s\S]*って書いたほうが汎用性があるんじゃないか?
コメント2件

466
デフォルトの名無しさん[sage]   投稿日:2015/09/11 18:27:00  ID:GHVwR1ig.net(3)
>465
よくわからん。
間の文字列はコメントじゃあない?
コメント1件

467
デフォルトの名無しさん[sage]   投稿日:2015/09/11 18:38:32  ID:9VDeBDLt.net
>465
[^*]*の転記ミス?

468
デフォルトの名無しさん[sage]   投稿日:2015/09/11 19:53:46  ID:jxONgP+h.net(4)
>466
一つWSH実行で例をあげてみる
var func = (function() {/* xxx */});
WSCript.Echo(func);

これは無名関数(関数リテラル)で定義された関数funcを表示してみたわけだが
function() {/* xxx */}
と表示される
これで判るんじゃない?

469
デフォルトの名無しさん[sage]   投稿日:2015/09/11 19:57:29  ID:jxONgP+h.net(4)
書き損じた
var func = function() {/* xxx */};
WScript.Echo(func);
コメント1件

470
デフォルトの名無しさん[sage]   投稿日:2015/09/11 22:05:30  ID:GHVwR1ig.net(3)
>469
わからん。どう見てもコメントじゃあん。
コメント1件

471
デフォルトの名無しさん[sage]   投稿日:2015/09/11 22:13:39  ID:eqePKJqG.net
じゃあん

472
デフォルトの名無しさん[sage]   投稿日:2015/09/11 22:17:20  ID:WBH/LaOP.net(2)
(・・?jランキング

473
デフォルトの名無しさん[sage]   投稿日:2015/09/11 22:19:25  ID:WBH/LaOP.net(2)
( ^ω^)

474
デフォルトの名無しさん[sage]   投稿日:2015/09/11 23:17:23  ID:jxONgP+h.net(4)
>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に何が入っているのか考えれば判るだろう

475
デフォルトの名無しさん[sage]   投稿日:2015/09/12 01:41:58  ID:SpNYzqMd.net
>464
/(¥d+)年(¥d+)月(¥d+)日/
でどうかな?
$1、$2、$3で

476
デフォルトの名無しさん[sage]   投稿日:2015/09/12 06:10:17  ID:1mS4NSAq.net(2)
全然わからん。
コメント1件

477
デフォルトの名無しさん[sage]   投稿日:2015/09/12 10:19:21  ID:GXmnKqHL.net
分からんものを使ってもデメリットしかない

478
デフォルトの名無しさん[sage]   投稿日:2015/09/12 11:35:33  ID:EtegBYPR.net
>476
カッコで格納してドルで呼び出し

479
デフォルトの名無しさん[sage]   投稿日:2015/09/12 14:49:20  ID:1mS4NSAq.net(2)
448は結局どいう時にに役立つんだ?
コメント1件

480
デフォルトの名無しさん[sage]   投稿日:2015/09/12 22:39:31  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>

481
448[]   投稿日:2015/09/16 04:04:28  ID:dSgInI6n.net
自分が調べたきっかけはこういうサイトにデータを入力するのをスクリプトでやるためです。

※広告注意※
http://hibin0.web.fc2.com/grbr_atk_calc/atk_calc.html

入力するデータはスクリプトで取得してますが、
ブックマークに登録した JavaScript で簡易的にやってるので
データのセットまではできないんですね。
それで、ぽとぺたの手間が少なくて済むこの方法が便利かなと。

どのみちデータとスクリプトをセットで出力して丸ごとコマンド実行するつもりですが
データの部分に手を付けなくて済むので楽かなと。
その場合、特に、文字列記号の入れ子を避けられるのがメリットです。

ついでに書くと、 >458 の書き方だと空行が入るので
データとして使う場合は trim() か空行チェックが必要です。
コメント1件

482
デフォルトの名無しさん[sage]   投稿日:2015/09/16 09:34:22  ID:d+PGYxxz.net(3)
^と¥Aの違いを教えてください。
どちらも先頭にマッチするんですよね?
違いが分かりません。

483
デフォルトの名無しさん[sage]   投稿日:2015/09/16 10:57:00  ID:3CkagkiO.net(2)

484
デフォルトの名無しさん[sage]   投稿日:2015/09/16 11:19:06  ID:d+PGYxxz.net(3)
>483
ググッテもさっぱり分かりませんでした。
コメント1件

485
デフォルトの名無しさん[sage]   投稿日:2015/09/16 13:45:02  ID:d+PGYxxz.net(3)
0-9の数字では無い
と言う条件は
[^0123456789]
でいいですか?
[^0-9]
と書けませんか?
コメント1件

486
デフォルトの名無しさん[sage]   投稿日:2015/09/16 14:15:51  ID:3CkagkiO.net(2)
>484
>3の一番上のリンク先で \A で検索

>485
\D または [^0-9]

注意すべきなのはこれらは1文字にマッチするということ
数字でない文字が1文字存在する必要がある

487
デフォルトの名無しさん[sage]   投稿日:2015/09/17 14:39:05  ID:AOGvYO3E.net
実用的なパターンが載っているサイトってありますか?
コメント1件

488
デフォルトの名無しさん[sage]   投稿日:2015/09/17 16:35:52  ID:6tXr0RuA.net
めんどくさいタイプだな、めんどくさいんで適当にググるか本でも買って読んでくれ、じゃあの

489
デフォルトの名無しさん[sage]   投稿日:2015/09/17 16:58:01  ID:gMKo9Xtr.net
>487
フクロウ本でも買えば?

490
デフォルトの名無しさん[]   投稿日:2015/09/17 21:41:49  ID:9KwBG3P+p
>481
> >458 の書き方だと空行が入るので

しまった。
名前欄は 2ch.net の番号で書いたのに
アンカーは 2ch.sc の番号で書いてしまった。
アク禁食らったから 2ch.net に書けない。

491
デフォルトの名無しさん[sage]   投稿日:2015/09/18 22:33:32  ID:ThAKGp2R.net
正規表現ってどうして言語ごとに違いが有るの?
厳密な規格みたいなのは無いん?

492
デフォルトの名無しさん[sage]   投稿日:2015/09/19 00:42:49  ID:4VjvFtyx.net
その土地ならではのバックスラッシュ

493
デフォルトの名無しさん[sage]   投稿日:2015/09/19 01:16:12  ID:jVOZa/zV.net(2)
regex-testdrive.com/ja/
"aaa/bbb/ccc"から"aaa/"をマッチさせるつもりで".+?/"と書いたんですが
"aaa/bbb/"がマッチします。何故ですか?
コメント1件

494
デフォルトの名無しさん[sage]   投稿日:2015/09/19 06:55:30  ID:V+MALMQT.net
"bbb/"というグループも".+?/"にマッチするのではなかろうか?
コメント1件

495
デフォルトの名無しさん[sage]   投稿日:2015/09/19 10:53:10  ID:jFHyX+Eq.net(2)
もう来ないで欲しい

496
デフォルトの名無しさん[sage]   投稿日:2015/09/19 14:03:35  ID:qCXEI70o.net(3)
^.+?/
だと"aaa/"がマッチするよ
コメント1件

497
デフォルトの名無しさん[sage]   投稿日:2015/09/19 14:31:54  ID:qCXEI70o.net(3)
>493
結局、勘違いじゃないですかね?
/gフラグ付きで、"aaa/"と"bbb/"の両方にマッチしてるんでない?

498
デフォルトの名無しさん[sage]   投稿日:2015/09/19 14:40:22  ID:ISETQD0O.net
正規表現覚えるなら言語は何がお勧め?
c#でやれば他の言語でも応用出来ますか?
コメント1件

499
デフォルトの名無しさん[sage]   投稿日:2015/09/19 14:44:12  ID:qCXEI70o.net(3)
>498
色々あるけど自分がよく使う環境が一番いいよ
実装が多いのを使ってみたかったら、Perlとか鬼車とかでいいんじゃない?

500
デフォルトの名無しさん[sage]   投稿日:2015/09/19 15:22:53  ID:jVOZa/zV.net(2)
>494 >496-497
ああ、最後まで反復されてるってことですか
無欲の解釈に自信がなかったので気付きませんでした
ありがとうございました

501
デフォルトの名無しさん[sage]   投稿日:2015/09/19 15:30:23  ID:jFHyX+Eq.net(2)
バカすぎ

502
デフォルトの名無しさん[]   投稿日:2015/10/06 15:24:45  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です

503
デフォルトの名無しさん[sage]   投稿日:2015/10/06 19:18:07  ID:7VCMeLNK.net
引用符が全角なのはまずいし、sed で -i オプション使うなら、-i.bak ってした方がいい。んで
sed -ne "/LoadModule php5_module/p"
でマッチするかどうかから始めたらどだろか。

やりたいことはコメントマーク外すだけみたいだから、エディタで編集した方が早そうだけど。

504
デフォルトの名無しさん[sage]   投稿日:2015/10/11 22:47:47  ID:KbfkRHMw.net
出来るだけ精度良く住所にマッチする正規表現を教えて下さい。ネットの例はどれも性能不足でした

505
デフォルトの名無しさん[]   投稿日:2015/10/13 09:00:48  ID:4ZQyScAP.net
全市町村入力してマッチさせたらいいよ
コメント1件

506
デフォルトの名無しさん[sage]   投稿日:2015/10/13 13:58:08  ID:P4Y/UxqF.net(3)
>505
物凄く長いパターンになるんじゃないか?
何文字くらいか見当もつかない

507
デフォルトの名無しさん[sage]   投稿日:2015/10/13 14:17:22  ID:GR3E4svI.net
(((( ;゚Д゚))))

508
デフォルトの名無しさん[sage]   投稿日:2015/10/13 19:13:40  ID:P4Y/UxqF.net(3)
[a-z]のtだけは除外したい場合
[a-su-z]で出来ると思うのですが、
[^ta-z]みたいな書き方は出来ませんか?
コメント1件

509
デフォルトの名無しさん[sage]   投稿日:2015/10/13 19:21:04  ID:uqM+CGI7.net

510
デフォルトの名無しさん[sage]   投稿日:2015/10/13 19:44:38  ID:P4Y/UxqF.net(3)
>509
ありがとうございました。

511
デフォルトの名無しさん[sage]   投稿日:2015/10/17 12:39:42  ID:lZc14wWH.net(2)
"単語A", "単語B", "単語C"
のどれも含まないパターンって
どう書くのでしょうか?
コメント2件

512
デフォルトの名無しさん[sage]   投稿日:2015/10/17 13:17:34  ID:vyPdS64J.net

513
デフォルトの名無しさん[]   投稿日:2015/10/17 14:40:06  ID:8crV4oii.net
>511
どれかが含まれるパターンの否定

514
デフォルトの名無しさん[sage]   投稿日:2015/10/17 14:46:12  ID:f+gWclGN.net
ド・モルガンの法則ってやつだね

515
デフォルトの名無しさん[sage]   投稿日:2015/10/17 14:56:57  ID:5seGsXGR.net(2)
素直に教えてやれよ
^(?!.*単語A)(?!.*単語B)(?!.*単語C)
コメント1件

516
デフォルトの名無しさん[sage]   投稿日:2015/10/17 15:15:01  ID:K9XF/GDc.net(2)
thx

517
デフォルトの名無しさん[sage]   投稿日:2015/10/17 15:18:00  ID:K9XF/GDc.net(2)

518
デフォルトの名無しさん[]   投稿日:2015/10/17 16:34:38  ID:bgoAiOcg.net
>511>2のテンプレ使うべき
正規表現の否定の使えるプラグラミング言語なのか
単なるテキストエディタなのかでも
回答は違ってくるわけで。。。
コメント1件

519
デフォルトの名無しさん[sage]   投稿日:2015/10/17 17:24:26  ID:5seGsXGR.net(2)
>518
まあそうだが、何もそんなに杓子定規に対応しなくてもいいと思う
特別な環境なら自分から質問時に注釈をつけてるはずで
何もなければ一般的な回答でいい
否定先読みは一般的と言える(戻り読みは特殊)し、もしダメだったらまた何か言ってくるだろ

520
デフォルトの名無しさん[sage]   投稿日:2015/10/17 19:43:19  ID:lZc14wWH.net(2)
>515
上手く行きました。
ありがとうございました。

521
デフォルトの名無しさん[sage]   投稿日:2015/10/18 18:11:22  ID:sPJe7rRi.net
合致するもの以外を取得する、
否定オプションを使えば?

grep -v (invert)

522
デフォルトの名無しさん[sage]   投稿日:2015/10/21 06:17:27  ID:H3y+KU/u.net
トンデモ質問者に不満がある奴は来ないほうがいいぞ、ストレス溜め込むだけだ
こんなとこで油売ってる暇があったら仕事しろ

523
デフォルトの名無しさん[sage]   投稿日:2015/10/21 07:51:48  ID:zc5Cc/IW.net
回答者の一部がトンデモなだけで
質問者がトンデたとは思えない

524
デフォルトの名無しさん[sage]   投稿日:2015/10/22 12:38:36  ID:n0r635Bx.net(2)
●Regular Expressionの使用環境
EmEditor Free 15.2.2

●検索か置換か?
置換

●説明
n個目の半角スペースから指定文字までを消したい

●対象データ
ABC DES GER AAG AEV文字列AFGABBMNYEUDSAE

●希望する結果
2個目の半角スペースから文字列までを消す場合は
ABC DES AFGABBMNYEUDSAE

525
デフォルトの名無しさん[sage]   投稿日:2015/10/22 14:32:37  ID:wNyxqlEs.net(2)
#とにかく半角空白の数を基準にする(対象の半角空白*以降*からだよ!)
^(([^ ]* ){2}).*文字列(.*)   置換後 $1$3
#字下げは無視して、要素間の連続した空白を基準にする
^( *([^ ]+ +){2}).*文字列(.*)   置換後 $1$3
コメント1件


526
デフォルトの名無しさん[sage]   投稿日:2015/10/22 14:37:33  ID:wNyxqlEs.net(2)
ごめんemエディタの置換後の書式は \1\3 だね。すまぬー

527
デフォルトの名無しさん[sage]   投稿日:2015/10/22 16:59:09  ID:n0r635Bx.net(2)
>525-526
ありがとうございます。本当に助かりました。

528
デフォルトの名無しさん[sage]   投稿日:2015/11/01 22:47:29  ID:tEVs0h0K.net
半角スペースは削除するが、
《》内の半角スペースだけは残す
というようなことをやるにはどうすればいいですか?

529
デフォルトの名無しさん[sage]   投稿日:2015/11/02 02:30:11  ID:0yaAkPxX.net
s/[^<>]\{-}\zs \ze[^<>]\{-}\(<[^>]\+>\)\@=//g
うーん我ながらひどいwでもまあ動くぜw入れ子とか勘弁ねw@vim

530
デフォルトの名無しさん[sage]   投稿日:2015/11/03 05:06:05  ID:Gf5Di//A.net
検索
\G[^ ]*+(?:《[^《》]*+》[^ ]*+)*+\K[ ]++

置換
なし

531
デフォルトの名無しさん[sage]   投稿日:2015/11/04 00:42:18  ID:2GmlXuzB.net
あ、間違えた。これじゃ誤爆する。まぁいないみたいだからいっか

532
デフォルトの名無しさん[]   投稿日:2015/11/15 03:36:57  ID:2QREH4SF.net(2)
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が効いていないようです

どのように変えればよいですか?

533
デフォルトの名無しさん[]   投稿日:2015/11/15 03:39:42  ID:2QREH4SF.net(2)
ごめんなさい
上の方は、bird.Human.をbirdとhumanに分けたいのと、

pattern = r"\s|,|\."で分割されないのはtext=u'My name is ...'です

534
デフォルトの名無しさん[sage]   投稿日:2015/11/15 03:49:47  ID:+qgiEGrj.net
>文字ごとに分割したいんですが

文字ごとにって、どういう意味?
例示して
コメント1件

535
デフォルトの名無しさん[sage]   投稿日:2015/11/15 10:06:11  ID:LQyOcx+Q.net
\ (U+005C バックスラッシュ) が ¥ (U+00A5 円記号) になってしまっているのでは

536
デフォルトの名無しさん[sage]   投稿日:2015/11/15 10:15:49  ID:goCF/v9g.net
\

537
デフォルトの名無しさん[sage]   投稿日:2015/11/15 15:42:32  ID:rTjjRyT5.net
パターンの指定でユニコード指定してないからとかかな
環境がWindowsじゃないので試せんけど

pattern = r" |,|\."

pattern = ur" |,|\."
コメント1件

538
521[sage]   投稿日:2015/11/15 17:30:49  ID:FWlzzsCJ.net
みなさんありがとうございました
どうも>537さんのurが正しいようでした

>534
[u'Dog', u'cat', u'mouse', u'bird', u'Human', u'']
のようなことです

539
デフォルトの名無しさん[]   投稿日:2015/11/15 18:11:41  ID:PV6fOtMt.net
python2系禁止ですね判ります

540
デフォルトの名無しさん[sage]   投稿日:2015/11/19 11:27:12  ID:o7BebgZg.net
mateで
【社会】わずか800円の支払いめぐり殴る蹴る 高2生徒ら3人逮捕 [11/17]

みたいななんかニュースのタイトルだけ投稿してるをNGしたいんだけどどうすればいいですか?

541
デフォルトの名無しさん[]   投稿日:2015/11/19 13:44:47  ID:QaQdEv4L.net(2)
●Regular Expressionの使用環境
JavaScript 

●検索か置換か?
置換

●説明
「\」(バックスラッシュ)をスラッシュ「/」に変えたいのですがうまくいきません。
普通に str.replace(/\\/g, "\/") で良いと思ったのですが、何も変わりません。

念のため、RegExpで patt = /\\/ として patt.test(str) では true になります。
どうすべきでしょうか?

●対象データ
var str = C:\Test\Out\test.txt

●希望する結果
C:/Test/Out/test.txt
コメント2件

542
デフォルトの名無しさん[sage]   投稿日:2015/11/19 14:18:24  ID:jYNOeoK3.net
そもそもstr内のバックスラッシュ自体がエスケープ文字扱いだろ。
コメント1件

543
デフォルトの名無しさん[sage]   投稿日:2015/11/19 15:05:21  ID:D79COvYS.net(2)
str = 'test\\test/test';
window.console.log(str);
window.console.log(str.replace('\\','/'));
window.console.log(str.replace('/','\\'));
これで置換できてるけど
第一引数は正規表現オブジェクトじゃなきゃならん理由があるのけ?

544
デフォルトの名無しさん[sage]   投稿日:2015/11/19 15:10:19  ID:1wzVL5X/.net(2)
>541
普通にそれでいいはずだけど?("\/"はエスケープしてもしなくてもいい)
<html>
<script>
var s='var str = C:\\Test\\Out\\test.txt';
document.write(s+'<br>'+s.replace(/\\/g,'/'));
</script>
</html>
コメント1件

545
530[sage]   投稿日:2015/11/19 15:36:16  ID:QaQdEv4L.net(2)
>542-544
確かにstrの方はエスケープ文字扱いになってますね。

ですが、処理対象の文字列は 'C:\\Test\\Out\\test.txt' のように2個の\ではなく
あくまでシングルの\です。

※ 実際 \test なんかは \t でタブ扱いになってしまってる。

あと対象データ 「var str =」 は余計に書いてました。すいません
コメント2件

546
デフォルトの名無しさん[sage]   投稿日:2015/11/19 15:50:50  ID:1wzVL5X/.net(2)
>545
javascriptの仕様は知ってるんだろ
変数に直接固定文字列を代入する場合は、""の中で\はエスケープして\\と書くが
実際の変数の中では、\一つだけの文字列だよ(表記だけの問題)

別の方法で変数に代入してるのなら、なんの問題もない
(例えば、入力フォームから取り込むとかファイルから読み込む等)
>544を実行すれば、sには\は1つだけなのがわかるはず。
(s.lengthで文字数調べてみて)

547
デフォルトの名無しさん[sage]   投稿日:2015/11/19 16:33:08  ID:D79COvYS.net(2)
>545
進展のないレスだな

既に>541の要件は満たしてるが
何が解決して何が未解決なのか、貰ったレスで何を得たのか何を試したのか
示して貰わんことには話が進まんよ

エスパーしてみるけど
var str =

548
デフォルトの名無しさん[sage]   投稿日:2015/11/19 17:16:57  ID:bYoVHZ0x.net
ヽ( ・∀・)ノ● ウンコー

549
デフォルトの名無しさん[sage]   投稿日:2015/12/07 12:19:41  ID:2PUB+AZr.net
Javascriptですが
/abc/

/^.+abc/
ではどちらが速い(良い)ですか?
コメント1件

550
デフォルトの名無しさん[sage]   投稿日:2015/12/07 15:54:00  ID:KuRdWB2c.net(2)
後者

551
デフォルトの名無しさん[sage]   投稿日:2015/12/07 15:54:35  ID:KuRdWB2c.net(2)
っていうか挙動が違うから比べる意味がないな

552
デフォルトの名無しさん[sage]   投稿日:2015/12/07 16:14:08  ID:RTM8BSjV.net
うん

553
デフォルトの名無しさん[sage]   投稿日:2015/12/07 17:31:48  ID:PeVLng9H.net(2)
wshや鬼車で比較したところでは、/abc/の方が、マッチした場合でもマッチしなかった場合でも早かったよ
コメント1件

554
デフォルトの名無しさん[sage]   投稿日:2015/12/07 17:44:44  ID:PeVLng9H.net(2)
>549
自分で確めてくれ
この文字列以外だと別の結果が出る可能性もある
WSHでのサンプルコードを貼りたかったけどはねられるんでダウンロードしてくれ
http://www1.axfc.net/u/3579243

555
デフォルトの名無しさん[sage]   投稿日:2015/12/07 22:41:00  ID:820kEC52.net
>553-554
おっしゃる通り/abc/の方が劇的に速くて驚きました
今後も活用させて頂きます
わざわざありがとうございました

556
デフォルトの名無しさん[sage]   投稿日:2015/12/08 02:26:16  ID:oGP4gtxs.net
matchじゃなくてtestにするともっと差が付く

557
デフォルトの名無しさん[sage]   投稿日:2015/12/08 12:50:29  ID:bk3CsbSP.net
ブックマークレットにしてFxやChromeで実行したら雲泥の差が出た

558
デフォルトの名無しさん[sage]   投稿日:2015/12/16 11:07:10  ID:ZVfdq9M1.net(2)
文字列「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

よろしくお願いします。

559
デフォルトの名無しさん[sage]   投稿日:2015/12/16 11:16:22  ID:NHyuVX8f.net
てst

560
デフォルトの名無しさん[sage]   投稿日:2015/12/16 11:29:39  ID:HLJItCvE.net
正規表現でランダム置換なんてできないだろ?
つーかスパムメールでも送るつもりか?

561
デフォルトの名無しさん[sage]   投稿日:2015/12/16 15:16:46  ID:ZVfdq9M1.net(2)
ありがとうございます、やはり出来ないですか。
私の知らないだけでもしそういったコマンドがあればと思いお聞きしました。
上は例でしたのでスパムといったことは特にないです。どうもありがとうございます。

562
デフォルトの名無しさん[sage]   投稿日:2015/12/16 15:37:26  ID:TfMgYFKH.net(2)
鬼雲又はBoostってことはプログラムコードの中ってことだよね
だったら、
a@hoge.comをマッチさせて(aa@hoge.comをマッチさせるのかどうかは知らんが)
ランダム文字列を生成したものと合成すりゃいいじゃん

563
デフォルトの名無しさん[sage]   投稿日:2015/12/16 15:43:04  ID:TfMgYFKH.net(2)
言語は何か知らないけど概念的にはこんな感じ
loop(n) {str+=random(26)+'a';}
result=textdata.replace(/a(?=@hoge\.com)/,str);

564
デフォルトの名無しさん[sage]   投稿日:2015/12/30 22:24:19  ID:ugBw4vew.net
BREで文字列の選択はできますか?

565
デフォルトの名無しさん[sage]   投稿日:2016/01/02 13:36:50  ID:iX7NZfvy.net
back-references ならば、
\(文字列\)

参考
Regular Expressions
http://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

566
デフォルトの名無しさん[sage]   投稿日:2016/01/07 09:25:29  ID:/RiEuU07.net(2)
●Regular Expressionの使用環境
Perl5互換

●検索か置換か?
検索

●説明
リンゴの前が「い」ではない文字列だけをマッチさせたい

●対象データ
おいしいリンゴ
まずいリンゴ
どくリンゴ
つぶれたリンゴ
ミカン
バナナ

●希望する検索結果
どくリンゴ
つぶれたリンゴ

否定などを使えば実現出来るのでしょうか。
こういったことが可能であれば教えてほしいです。

567
デフォルトの名無しさん[sage]   投稿日:2016/01/07 10:02:33  ID:6pWPF2x5s
(.*[^い])リンゴ

568
デフォルトの名無しさん[sage]   投稿日:2016/01/07 12:21:47  ID:Fs99JMqE.net
.*[^い]リンゴ
.*(?<!い)リンゴ

ポイント
(?<!しい) の代わりに [^しい] などとするのは、考えているのとは違うものになる
look-behind の場合は一文字以上でもいいが、固定長
学習用のキーワード look-behind 戻り読み 後読み
コメント2件

569
デフォルトの名無しさん[sage]   投稿日:2016/01/07 12:22:39  ID:Tlv8AN3c.net(2)
/(?<!い)リンゴ/
コメント1件

570
デフォルトの名無しさん[sage]   投稿日:2016/01/07 12:33:15  ID:Tlv8AN3c.net(2)
>568の2つには
リンゴ
(で始まる)にマッチするかしないかの違いがある

571
デフォルトの名無しさん[sage]   投稿日:2016/01/07 13:22:41  ID:/RiEuU07.net(2)
>568
>569-570
なるほど、そのように記述すればいいのですね。
希望の動作となりました。

頂いた書き方を見ると近いところまでは出来ていたのですが、細かい部分が間違っていました。
お二方、詳しくありがとうございます。

572
デフォルトの名無しさん[]   投稿日:2016/01/16 20:12:13  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フィールド中の";;"はセパレータではない

よろしくお願いします

573
デフォルトの名無しさん[sage]   投稿日:2016/01/17 10:54:04  ID:iD/f7ImV.net(3)
紹介程度なので間違っているところが有るかもしれない
またSYLKフォーマットについてはよく分かりません
ので、適当に直して下さい

ポイント 部分式呼び出し(subexpression call)


#!/usr/bin/ruby

RE = Regexp.compile( <<'__EndOfRE__'.strip, Regexp::EXTENDED )
# definition
(?<content> (?: \g<wQuote> | \g<parenthesis> | [^;
コメント2件

574
デフォルトの名無しさん[sage]   投稿日:2016/01/17 10:55:46  ID:iD/f7ImV.net(3)
紹介程度なので間違っているところが有るかもしれない
また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
コメント1件

575
デフォルトの名無しさん[sage]   投稿日:2016/01/17 11:04:16  ID:iD/f7ImV.net(3)
2ch の bug かな?>573 は書き込みが途中で、切れました

>574 注意WQ の所は、ダブルクォート”(半角)です

[circumflex(hat) semicolon double-quote opening-parenthesis closing-parenthesis]

576
560[sage]   投稿日:2016/01/25 00:07:23  ID:1Yw/SdQW.net
>573-575
ありがとうございます。期待どおりの結果を得られました

しかし
>部分式呼び出し(subexpression call)
Rubyリファレンスマニュアルのその項を読んでみましたが
その式がどのように動くのか理解出来ず・・・orz
もう少し調べてみます

577
デフォルトの名無しさん[sage]   投稿日:2016/01/25 00:18:23  ID:PxJn4izo.net

578
デフォルトの名無しさん[]   投稿日:2016/01/27 16:44:20  ID:7OoaEKpf.net(3)
教えてくださいC#で置換です
<script type=

579
デフォルトの名無しさん[]   投稿日:2016/01/27 16:48:11  ID:7OoaEKpf.net(3)
<pre><code>教えてくださいC#で置換です
&lt;script type=&quot;text/javascript src=&quot;/hogehoge&quot; &gt;&lt;/script&gt;
に対してキャッシュ対策のためにurlの末尾に?20160125を入れたい
&lt;script type=&quot;text/javascript src=&quot;/hogehoge?20160125&quot; &gt;&lt;/script&gt;
条件1 type属性は前についたり後についたりつかなかったり
条件2 urlがhttp|httpsで始まる場合外部サービスなのでクエリはつけたくない
条件3(できれば)すでに?が含まれている場合は末尾に&20160125をセットする
条件1まではできました
&lt;script(.*?)src=&quot;(.*?)&quot;(.*?)&gt;&lt;/script&gt;
&lt;script${1}src=&quot;${2}&quot;${3}&gt;&lt;/script&gt;
条件2, 3を満たすにはどうしたらよいでしょうか.</code></pre>

580
デフォルトの名無しさん[]   投稿日:2016/01/27 16:55:08  ID:7OoaEKpf.net(3)
教えてください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を満たすにはどうしたらよいでしょうか.

581
デフォルトの名無しさん[sage]   投稿日:2016/01/27 17:52:47  ID:xlCdIBQv.net
C#は全く知らんのだけど、(<script.*src="(?!http).*)(\?)?(".*></script>)って感じで
$2が入ってるかどうかで&をつけるか?をつけるか変えれば良いんじゃない?

582
デフォルトの名無しさん[sage]   投稿日:2016/01/30 13:59:02  ID:97c75ht0.net
c:\aaa\bbb\file.txt
.\bbb\file.txt
file.txt
など、windowsのパス(絶対、相対など)から
file.txt
を取り出す表現を教えてください。

583
デフォルトの名無しさん[sage]   投稿日:2016/01/30 17:00:13  ID:TTafasRV.net
後ろに\がない位置から末尾まで

584
デフォルトの名無しさん[sage]   投稿日:2016/01/31 08:22:35  ID:AEa1Mqyg.net
正規表現じゃあできないだろ

585
デフォルトの名無しさん[sage]   投稿日:2016/01/31 09:01:11  ID:LZLEJP3w.net
/^(.*\\)?(.*)$/
で$2を取り出すとか?

586
デフォルトの名無しさん[sage]   投稿日:2016/01/31 09:19:22  ID:ZGm5BbJ5.net
っd

587
デフォルトの名無しさん[sage]   投稿日:2016/02/01 01:38:37  ID:42LJ55Ye.net
/[^\\]+$/
でいいよな

588
デフォルトの名無しさん[sage]   投稿日:2016/02/02 13:31:32  ID:Wp28ZdyP.net(3)
●Regular Expressionの使用環境
C#

●検索か置換か?
置換

●説明
出現する>>数字のみをすべて+1したい

●対象データ
>1>2>1-2>1-3

●希望する結果
>2>3>2-3>2-4
コメント2件

589
デフォルトの名無しさん[sage]   投稿日:2016/02/02 14:46:27  ID:yOFSQOe0.net
>588
そんなの何に使うと?

590
デフォルトの名無しさん[sage]   投稿日:2016/02/02 15:17:40  ID:xkCOh91z.net
それを聞いてどうする

591
デフォルトの名無しさん[sage]   投稿日:2016/02/02 15:31:50  ID:chGMw9p3.net
問題出すために作った問題って実用性がなくてつまらんってことだな

592
デフォルトの名無しさん[sage]   投稿日:2016/02/02 15:36:08  ID:yRO4HgSK.net
実用性がなかろうが殺人用途だろうが
このスレが知ったことではない

593
デフォルトの名無しさん[sage]   投稿日:2016/02/02 15:44:26  ID:rxAKW9Tr.net

594
デフォルトの名無しさん[sage]   投稿日:2016/02/02 17:10:36  ID:Wp28ZdyP.net(3)
>593
ありがとうございます。
申し訳ないのですがこちらの言葉足らずでした。
データには数字だけでなく他の文字も含まれています。
要は2chのアンカーと全く同一です。
その中からアンカーに関連する数字のみをすべて+1したいのです

●対象データ
>1
>2
なんたら
>1-2
かんたら
>1-3
うんたら

●希望する結果
>2
>3
なんたら
>2-3
かんたら
>2-4
うんたら

595
デフォルトの名無しさん[sage]   投稿日:2016/02/02 17:50:46  ID:qIgOE2Mph
(?<=>>)([\d-]+)
後の処理はご自分でドーゾ。

596
デフォルトの名無しさん[sage]   投稿日:2016/02/02 17:51:34  ID:oL+DFss1.net
(?<=>>)([\d-]+)
後の処理はご自分でドーゾ。
コメント1件

597
デフォルトの名無しさん[sage]   投稿日:2016/02/02 20:27:18  ID:Wp28ZdyP.net(3)
>596
どうもありがとうございました。何とか出来たようです。

598
デフォルトの名無しさん[]   投稿日:2016/02/16 22:58:07  ID:5hX1n3eK.net
NGexでIP表示スレの特定範囲IPをアボーンしたいのですが
これを正規表現にするとどんなかんじでしょうか?

182.248.0.0-182.251.255.255

599
デフォルトの名無しさん[]   投稿日:2016/02/16 23:41:05  ID:WEL4Qqsyw
http://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]))$

600
デフォルトの名無しさん[sage]   投稿日:2016/02/17 00:34:07  ID:BOXLOMwS.net
2(4[89]|5[01])

601
デフォルトの名無しさん[sage]   投稿日:2016/02/19 21:08:52  ID:fiOWql8G.net(2)
11以上の数値にマッチする正規表現はどうやって書けば良いでしょうか?
コメント1件

602
デフォルトの名無しさん[sage]   投稿日:2016/02/19 22:12:34  ID:Nn93sxwn.net
>601
全然スマートじゃないけど
/0*[1-9](?:0\d+|[1-9]\d*)/
とか
/0*(?!10(?:\D|$))[1-9]\d+/
とか
コメント1件

603
デフォルトの名無しさん[sage]   投稿日:2016/02/19 22:59:54  ID:fiOWql8G.net(2)
>602
ありがとうございました!
凄く助かりました
上は20,30,40,50等がヒットしないようなので
下を使わせて頂きます
本当に困っていたので涙が出るほど嬉しかったです

604
デフォルトの名無しさん[sage]   投稿日:2016/02/19 23:36:44  ID:pjLhb+yw.net
(1[1-9]|[2-9][0-9]|[1-9][0-9][0-9]+)

605
デフォルトの名無しさん[]   投稿日:2016/03/01 00:13:29  ID:yoDa+UzO.net
JavaのMatcherクラス

<div id="aaa">
</div>
<div id="bbb">
 <div id="ccc">
  <div id="ddd">
  </div>
 </div>
</div>

ネストしてるdivタグの囲った範囲の文字列抽出と、idの中身を取り出したい
んだけど、入れ子になってるもののマッチってどうすればいい?
コメント3件

606
デフォルトの名無しさん[sage]   投稿日:2016/03/01 00:57:17  ID:QFDKhVDb.net
>605
Java知らんけど再帰をサポートしてない正規表現なら
自分でパースする関数を作ったほうがいい

607
デフォルトの名無しさん[]   投稿日:2016/03/07 14:11:54  ID:oj83hPpT.net(5)
# .*? の、? は最短マッチ
str = File.read('File1').gsub(/^=begin.*?^=end/m, '')

=begin
複数行コメント
=end

Rubyで、行頭=begin 〜 行頭=end で囲んだ、複数行コメントの部分を、複数行の最短マッチで削除したいのですが、=end の同じ行内で、
後ろに書いた、改行以外の部分もついでに削除したい。以下の ' ABC'

=begin
複数行コメント
=end ABC
コメント2件

608
デフォルトの名無しさん[sage]   投稿日:2016/03/07 14:26:17  ID:oj83hPpT.net(5)
>605-606
木構造を持っているものは、正規表現では無理なので、Parserを使う

609
593[sage]   投稿日:2016/03/07 14:43:24  ID:oj83hPpT.net(5)
>607 自己レス

# .*? の、? は最短マッチ
str = File.read('File1').gsub(/^=begin.*?^=end/m, '#')

str.gsub!(/^#.*$/, '')

元々、行頭が # の行も削除するので、
いったん、複数行コメントの部分を、# に置換してから、
行頭が # の行を削除するようにした

=begin
複数行コメント
=end ABC

これが、以下に置換される
# ABC

610
デフォルトの名無しさん[sage]   投稿日:2016/03/07 15:18:29  ID:+tQLURZK.net
gsub(/^=begin.*?^=end.*$/m, '')でいいんじゃないの?
コメント1件

611
593[sage]   投稿日:2016/03/07 18:33:50  ID:oj83hPpT.net(5)
>610
# .*? の、? は最短マッチ
str = File.read('File1').gsub(/^=begin.*?^=end.*$/m, '')

複数行マッチで、$ を使ったら、ファイルの最後まで削除された。
以下で、' ABC' だけではなく、'123' も削除された。
たぶん、$ が機能しないで、無視される

=begin
複数行コメント
=end ABC

123
コメント3件

612
デフォルトの名無しさん[sage]   投稿日:2016/03/07 19:40:41  ID:bcG1DORl.net
[\r\n]=end[^\r\n]+

613
593[sage]   投稿日:2016/03/07 20:46:34  ID:oj83hPpT.net(5)
>612
改行コードが、[\r\n]限定で、それで出来ました。
gsub(/^=begin.*?[\r\n]=end[^\r\n]+/m, '')

=begin
複数行コメント
=end ABC

123

これで、ABCも削除されて、123だけが残ります

614
デフォルトの名無しさん[sage]   投稿日:2016/03/07 22:28:10  ID:HxQlSEZO.net(2)
>611
自コメで書いてる

615
デフォルトの名無しさん[sage]   投稿日:2016/03/07 22:33:56  ID:HxQlSEZO.net(2)
>611
自コメで書いてる”end.*?$”はどうだったの

616
デフォルトの名無しさん[sage]   投稿日:2016/03/08 10:02:12  ID:N+gwerl0.net
stra.gsub(/^=begin[^{=end}]*=end[^\r\n]+/m,'')
コメント1件

617
デフォルトの名無しさん[sage]   投稿日:2016/03/08 13:04:09  ID:810kd9as.net
>610 に ? をつければ、要件を満たすでしょ?
つまり
/^=begin.*?^=end.*?$/m

>611
> たぶん、$ が機能しないで、無視される
.* だと、123まで greedy に食べて、文の終わりで $ がマッチする

>607
> 後ろに書いた、改行以外
と書いてはいるが、もし =end ABC の直後の改行まで含めるなら
/^=begin.*?^=end.*?(?:^|\z)/m
コメント1件

618
593[]   投稿日:2016/03/09 00:51:28  ID:t6r0Jvyr.net
>616
難しそう

>617
# .*? の、? は最短マッチ
gsub(/^=begin.*?^=end.*?$/m, '')

.*?$ で、最短マッチで、直後の行末に一致しました

=begin
複数行コメント
=end ABC

123

これで、123 だけが残ります

619
デフォルトの名無しさん[sage]   投稿日:2016/03/09 16:28:40  ID:i4NOJr2P.net(2)
エスケープを考慮した置換or検索ってどうやるのでしょうか?

foo
コメント1件

620
デフォルトの名無しさん[sage]   投稿日:2016/03/09 16:35:42  ID:i4NOJr2P.net(2)
途中で書き込んでしまいました><
”は実際には半角のダブルクオーテーションです。

foo”hoge\”fuga\””bar

から

”hoge\”fuga\””

を切り出したいのです。

環境は
http://dlang.org/phobos/std_regex.html
です。
コメント1件

621
デフォルトの名無しさん[sage]   投稿日:2016/03/09 16:42:08  ID:QVSpkpW+.net
>619
ご機嫌だな

622
デフォルトの名無しさん[sage]   投稿日:2016/03/09 17:14:05  ID:pSSorbbr.net
(?<!\\)".*?(?<!\\)"
でダメかな?
コメント2件

623
デフォルトの名無しさん[sage]   投稿日:2016/03/09 18:05:33  ID:lkt9n8as.net(2)
"(?:[^"\\]|\\.)*"

基本
[^"]*

エスケープを加える
(?: [^"\\] or \\. )*
コメント4件

624
デフォルトの名無しさん[sage]   投稿日:2016/03/09 19:55:26  ID:CzXZOLWV.net
>623
\"hage\"foo"hoge\"fuga\""bar
コメント8件

625
デフォルトの名無しさん[sage]   投稿日:2016/03/09 20:45:11  ID:lkt9n8as.net(2)
>624
>622 の後で書き込んでいる。当然、考慮済み
それは、必要なら改めて加えれば良い類の、余計な例示
コメント6件

626
デフォルトの名無しさん[sage]   投稿日:2016/03/10 02:05:51  ID:mX7rq38E.net(2)
>625
いや明らかに不親切だろ
こんな質問する奴にそこまで考慮が及ぶとは考え難い
一言あってしかるべきだったと思うけど

まあ例示は変だけどね
こんなのはあるかも知れない
(`"aaa`) == "\"aaa"
まあ事ほどに言語の記述に正規表現を適用するのは難しい
コメント4件

627
デフォルトの名無しさん[sage]   投稿日:2016/03/10 07:41:20  ID:zEnJuJZN.net
>626
明らかに不親切かなあ?
「明らか」なのか?
ただの >626 の主観でしかなくないかい?

どちらかというと俺は、解説やキーワードを付けたりして、親切にしているのだが。

エスケープされたダブルクォートが、ダブルクォートの外に出ている等の場合が普通に想定されるなら
何か断りを入れるよりも、正規表現に加えるよ
通常想定されない余計な場合を考えて、余計なものを付け加えて複雑化したものよりも、
シンプルで理解が進むだろうと、俺は思うよ
そしてその方がより親切だと思う。まあ、自分の主観でしか無いが

> (`"aaa`) == "\"aaa"
これには >622 もマッチに失敗するけど、別段おかしいとは思わない

こういう別のクォートは、そのクォートの方で処理するべき
他にもシングルクォートや、正規表現 /.../ の中でダブルクォートが存在する場合も有るだろうけれど
別のクォートまで一々書かないよね

ああ、もう時間だ
コメント1件

628
デフォルトの名無しさん[sage]   投稿日:2016/03/10 11:41:50  ID:qiWLYw+g.net
foo”hoge\”fuga\””bar から
”hoge\”fuga\”” を取り出したい
他のケースはなにも考慮しなくていい

というなら
".*"
で済んでしまうな
コメント1件

629
デフォルトの名無しさん[sage]   投稿日:2016/03/10 18:35:57  ID:mX7rq38E.net(2)
>627
最初のレスはいい
次の>625が問題レスだって言ってる
これにカチンとくる奴はいっぱいいるぞ
それと (`"aaa`) == "\"aaa"は言語の解析に正規表現を使うっていうこと自体の
無理っぽさを言ったまで
パーサーを使うべき問題

630
デフォルトの名無しさん[sage]   投稿日:2016/03/11 12:11:21  ID:iOVIDxci.net
無言で難癖の類をつけている >624 や、必要のない想定について
「一言あってしかるべき」などと続けている >626 の方に
疑問を持つ人の方が一杯いそう

他人の解答に何か言うのではなく、不満なら自分で答えればいい
他人の解答がなにか言葉が足りないと思うなら、そっと付け加えれば良いだけ

631
デフォルトの名無しさん[sage]   投稿日:2016/03/11 16:42:52  ID:YbW0J/IA.net
解説をつけて親切に教えたという人が>625を同じ口で言うとは俄かに信じがたい
コメント1件

632
デフォルトの名無しさん[sage]   投稿日:2016/03/12 17:14:20  ID:ECchds7o.net
悪意の有る人間に同じ様に親切にする奴なんていないだろ

633
デフォルトの名無しさん[sage]   投稿日:2016/03/12 18:28:04  ID:6kiXFdsY.net
はいはいお前が正しいからもういいって
お前ってのはこのレス読んだお前のことな

634
デフォルトの名無しさん[sage]   投稿日:2016/03/12 22:46:54  ID:85ImJBBX.net
未だに何が問題だったのか認識してないようなので解説をば
・まず完璧なレスは誰にも期待はできないので抜けや間違いがあっても仕方はない
 この点を考慮して、最初のレスに不備は全く無い
・次に>624がいちゃもんだと決め付けて、「そんなことお前よりわかっとるわい、黙っとれ」
 みたいなレスが問題点だと言える
 もし、解説し忘れて抜けてたんだったら、きちんと解説すればいいし、
 熟考の上でわざと書かなかったのなら、こんなレスはつけずに無視してれば良かった
 それに、>624はいちゃもんとは限っていない
 >623だとこういう問題点もあるということを質問者に気づかせる意図だったのかも知れない
 その場合リンクを>620にするかってことだが、何も文章を書かずに例示するだけなら
 俺でも>623にリンクを貼ると思う

 まあプライドが高くてすぐに剥がれるようなメッキはちょっと見苦しい
コメント2件

635
デフォルトの名無しさん[sage]   投稿日:2016/03/13 22:55:06  ID:5pC+CJpl.net(2)
>624は、好意的に見てもせいぜい
「エスケープしたダブルクォートが、もしも外に有ったらどうするんだよ?」
位にしか読めないじゃないか
「何言ってんの?お前」って返されても文句言えないだろ
そうは思うが、>625では淡々と事実だけ書いたんけどな
ああ、気分わるいなあと思ったが感情を抑えて、事実だけな

>624の様に無言でレスを付ければ、指摘だけしか無いのだから、
どう解釈されても仕方が無いよな。指摘だけで勝負だろ
誤解を生みやすく、結果的に相手の感情を害したとしても。

もし、相手を傷つける意図がないならば、感情の行き違いを避け、
誤った意図やニュアンスで伝わらない様に、文章を添えるべきだよね

>624では、バカにされても仕方が無い様な、おかしな指摘を無言でしておいて、
こちらはそれもしていないのだが、語句がキツくて気に入らないとか、
逆ギレもいいところだろ。怒っていますと繰り返している、
あなたの方がお高いプライドの持ち主なんじゃないの?

636
デフォルトの名無しさん[sage]   投稿日:2016/03/13 22:55:30  ID:5pC+CJpl.net(2)
> 熟考の上でわざと書かなかったのなら、こんなレスはつけずに無視してれば良かった
無言のレスに、レスを付けて何が悪いのか?は?

> 質問者に気づかせる意図だったのかも知れない
自己弁護も白々しく、しかも都合が良すぎる
そんな相手の意図まで、相手の都合の良い様に汲み取るべきとか。おかしいだろ

> 俺でも>623にリンクを貼ると思う
この過疎スレで、なに第三者のふりをしているの?本当に第三者だとして
他人の言い合いなんかにわざわざ首を突っ込んできているんだ。へぇー(棒)
コメント1件

637
デフォルトの名無しさん[sage]   投稿日:2016/03/14 11:28:40  ID:+5uiuB8z.net
こういう言い合いになると最後にレスしたほうが勝ちだと思ってる奴多いけど
実際のところ最後になった奴が一番惨めだよな

どうだ言い返してやったぞ、今度は何言ってくるんだ言えるものなら言ってみろよと
wkwkしながらスレリロードしてるのに、誰からもレス付かないまま立ち消えていくのは
勝利とはほど遠い虚しさで不憫きわまりない
コメント1件

638
デフォルトの名無しさん[sage]   投稿日:2016/03/14 12:26:39  ID:OwtYwpEx.net
いい加減スレチ
言い合いは他所でやれ

639
デフォルトの名無しさん[sage]   投稿日:2016/03/14 16:31:18  ID:CkOIJo3B.net
visual studioの検索置換で正規表現使うと、なんか動きがおかしい時ないですか?

640
デフォルトの名無しさん[sage]   投稿日:2016/03/15 07:11:42  ID:bcM3RviG.net
自演乙
コメント1件

641
デフォルトの名無しさん[sage]   投稿日:2016/03/19 22:11:37  ID:DRR7a7MQ.net
●Regular Expressionの使用環境 → 無料のテキストエディタ、または秀丸
  
●検索か置換か?→ 検索

●説明

々堝が数字で始まらない、Aを含む行だけ検索したい。
行頭が数字で始まらない、行末にAが来る行だけ検索したい。

●対象データ
123 fooA
foobarA foobar
548 fooA
foobarA foobarA

●希望する結果

 foobarA foobar
 foobarA foobarA


 foobarA foobarA

よろしくお願いします。
コメント1件

642
デフォルトの名無しさん[sage]   投稿日:2016/03/19 23:44:13  ID:8UZGwfqY.net
>641
^[^\d].*A.*$
^[^\d].*A$
コメント1件

643
デフォルトの名無しさん[sage]   投稿日:2016/03/20 00:17:07  ID:6E3rfl+p.net
thx

644
デフォルトの名無しさん[sage]   投稿日:2016/03/20 01:10:35  ID:dD/6nOCQ.net
>636
悪くはないかもしれないが、どうしても一言言わずにゃおれなかったっていうみえみえの心理状態だな
コメント1件

645
デフォルトの名無しさん[sage]   投稿日:2016/03/20 04:18:17  ID:P2wGuxR2.net
>642
ありがとうございます。

646
デフォルトの名無しさん[sage]   投稿日:2016/03/20 07:03:52  ID:BKY+bqXr.net(2)
<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)

コメント1件

647
デフォルトの名無しさん[sage]   投稿日:2016/03/20 08:42:50  ID:4Rc5hh5g.net
>644
普通レスを返すだろ

>640 では、気を使って抑え気味にしてやったのに、まだ言うかw
「こんなレスはつけずに無視してれば良かった」のは、まさにお前の様な奴に投げかけられる言葉

こんな >624 >626 >628 例をあげて恥ずかしくないの?
こんな >637-639 みっともない自演をしておいて、恥ずかしくないの?
コメント2件

648
デフォルトの名無しさん[sage]   投稿日:2016/03/20 11:16:00  ID:zSHF45+D.net
>646
<div>.*?</div>
コメント1件

649
デフォルトの名無しさん[sage]   投稿日:2016/03/20 12:04:54  ID:BKY+bqXr.net(2)
>648
ありがとうございました。

650
デフォルトの名無しさん[sage]   投稿日:2016/03/20 20:07:22  ID:tOEh7O6K.net
>605
それPEG使ったほうがいい。最近勉強したけど楽しい。
構文解析って名前ほどおっかなくないよ
コメント1件

651
デフォルトの名無しさん[sage]   投稿日:2016/03/21 13:05:37  ID:NsIeGKek.net
>650
普通にパーサー使って
xpathで//div/@idかcssセレクタでdiv[id]でよくね

652
デフォルトの名無しさん[sage]   投稿日:2016/03/31 16:52:39  ID:LLptTgcg.net(2)
正規表現の文字クラスで質問です。例えば
[0-9]は数字を表しますよね。また、\dも数字ですよね。
\dを[]内で使って[\da-z]で数字と小文字のa-zとかってありなんでしょうか??
縦棒を使って
(\d|[a-z])でやれば明白ですが。

653
デフォルトの名無しさん[sage]   投稿日:2016/03/31 17:03:53  ID:LLptTgcg.net(2)
お騒がせしました。[\d]はありっぽいですね。

654
デフォルトの名無しさん[sage]   投稿日:2016/04/03 00:37:59  ID:wkb28L2F.net
>647
>625での主張は「俺は知ってるぜ」
これだけを言いたいがための発言
コメント2件

655
デフォルトの名無しさん[sage]   投稿日:2016/04/03 19:57:17  ID:tpyVZV/3.net
>654
>654での主張は「全て論破されていて悔しいです」
これだけを言いたいがための発言
コメント1件

656
デフォルトの名無しさん[sage]   投稿日:2016/04/04 00:17:04  ID:TBgct8lK.net(2)
>625のいけないところは
素直に知ってたよって言えば誰も噛み付かなかったのに、プライドが邪魔したのかひねくれた言い方をした点

657
デフォルトの名無しさん[sage]   投稿日:2016/04/04 01:37:22  ID:TBgct8lK.net(2)
>655
勝ち負けを言えば、>647を書かせた時点で決着してる
相手を全部同一視して粗探しするその品性の悪さを引き出したって点でね
それに、喩えると
交通違反して注意された相手に向かって、みんなやってることだとかお前だってやってた
って言っても自分のしたこととは関係ないことであり論理的に意味がない

658
デフォルトの名無しさん[sage]   投稿日:2016/04/04 21:25:02  ID:im7Mb0Qo.net(2)
品性の悪さを引き出した -> 勝ち

この論理性の無さ...
それに加えて、無意味な喩え話...



ある程度、会話が通じる人かと思っていたのだが
残念だ。残念な知性だな

正規表現の実例についてもつくづくそう思うが
もう少し考えてから書き込んでみたらどうか?

659
デフォルトの名無しさん[sage]   投稿日:2016/04/04 21:26:10  ID:im7Mb0Qo.net(2)
勝ち負けと品性が直接の関係は無いが、品性の悪さについて


品性の悪さって、自演をした人が言える事なのか?



たとえ自演がなくとも、
何度も同程度の発言を、そちらからもしている事に気付かないのかな?

>631の嫌味っぽい口ぶりや、>634の「解説をば」みたいな上からの物言い
>634最後の一行では、無意味なただの悪口

そして決定的なのは、自演をしていた事。これについては、同程度どころでは無い



これらは、品性の悪さに該当しないと思っているのか?

660
デフォルトの名無しさん[sage]   投稿日:2016/04/06 09:00:13  ID:2zN0IQcS.net
ワラタw
まさにどちらが最後まで醜態を晒し続けるかの勝負だな
いいぞもっとやれ

661
デフォルトの名無しさん[]   投稿日:2016/04/06 10:46:43  ID:xAgh0Pyq.net
JAPANXXX
JAPANYYY
JAPANZZZ
上のような文字列のうち最後のJAPANZZZの部分を取りたいです
XXX YYY ZZZの部分は3文字からなる大文字になっていて
もちろんJAPANZZZで文字列が終わっているわけではありません
今はJAPAN([A-Z]{3})で全て取得したのをリストに入れて
リストの一番最後の要素を取り出すという手法で対応していますが
正規表現1つで出来たりしませんか?

662
デフォルトの名無しさん[sage]   投稿日:2016/04/06 12:52:05  ID:BFsTf7eA.net
先読み・後読みなどで、出来ない?

663
デフォルトの名無しさん[sage]   投稿日:2016/04/06 13:15:18  ID:RIb7jbh2.net(2)
どうなの

664
デフォルトの名無しさん[sage]   投稿日:2016/04/06 13:17:07  ID:xwA6Cy1b.net
キャプチャで最後に残った値

665
デフォルトの名無しさん[sage]   投稿日:2016/04/06 13:17:59  ID:RIb7jbh2.net(2)
(・∀・)

666
デフォルトの名無しさん[sage]   投稿日:2016/04/06 14:05:37  ID:q1HrDxSz.net
俺だったら"JAPAN"でsplitして三番目を取る

667
デフォルトの名無しさん[sage]   投稿日:2016/04/06 17:09:53  ID:Ek6gxOxq.net
(?:^JAPAN[A-Z]{3}\n)*(^JAPAN[A-Z]{3})(?:\n|\z)

668
デフォルトの名無しさん[]   投稿日:2016/04/07 16:14:06  ID:CD0MGG23.net
perl -0777 -ne '/.*JAPAN([A-Z]{3})/s and print( $1)'

みたいなこと?
コメント1件

669
647[sage]   投稿日:2016/04/07 16:34:11  ID:EyxL+HBb.net
皆様レスどうもありがとうございました

>668
これでバッチリです
ちょっと$0はカオスなことになりますが
なるほどなーって思いました

本当ありがとうございました!

670
デフォルトの名無しさん[]   投稿日:2016/05/01 11:29:16  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

671
デフォルトの名無しさん[]   投稿日:2016/05/04 09:53:54  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が継続する行全部を削除したいです。
コメント1件

672
デフォルトの名無しさん[sage]   投稿日:2016/05/04 10:33:36  ID:kVGM/VsN.net
できません

673
デフォルトの名無しさん[sage]   投稿日:2016/05/04 11:00:55  ID:S+T3H7rB.net
>671
一度一致した文字列の複数回出現や繰り返しは、「後方参照」で表現できる
^\d{4}\.\d{2}.\d{2} \d{2}:\d{2}:\d{2} ([.0-9]+) \1 \1 \1 0$
コメント1件

674
657[sage]   投稿日:2016/05/04 15:43:24  ID:Z8i1J0Td.net
>673
ありがとうございました

675
デフォルトの名無しさん[]   投稿日:2016/05/05 14:54:42  ID:jemhh2fV.net(3)
すんませんわけわかんなくなってきた

「1回以上の abcdefg いずれかの文字の繰り返し、ただし ccd+cc を含まない」
例えば abcd 、 ffgabc 、 bbbbbbbbbbbbbdddddbbbbbbb にはヒットし
abcdffgabcbbbbbbbbbbbbbdddddbccdddddddddccbbbbbb をかけると abcdffgabcbbbbbbbbbbbbbdddddb (と bbbbbb )を得られる正規表現
どうやって作ったら良いんでしょうか
コメント1件

676
デフォルトの名無しさん[sage]   投稿日:2016/05/05 15:07:34  ID:/qWvSKFr.net
できません

677
デフォルトの名無しさん[sage]   投稿日:2016/05/05 15:08:33  ID:WWv6suKc.net
>675
例が悪い。
もう少し簡潔な例をたのむ
コメント1件

678
デフォルトの名無しさん[sage]   投稿日:2016/05/05 15:44:38  ID:jemhh2fV.net(3)
>677
混乱しててマジすまん。要は>8の文字列じゃなくてパターンな版なんだと思う

「fuck you hageatama atodekorosuwaboke」からアルファベットのみで構成されるものを取り出したい、
ただしatではじまり間にaを含まずaで終わる範囲は無視させたい
この場合は【fuck、you、hage、ma、boke】を抜き出したい
わずかでもわかりやすくなっただろうか

679
デフォルトの名無しさん[]   投稿日:2016/05/05 17:02:33  ID:Vl8awOB0.net(2)
perl -ne 's/at.*?a/ /g ; while ( /([a-z]+)/g ){ print("$1\n") }'

みたいなこと?

680
デフォルトの名無しさん[]   投稿日:2016/05/05 17:04:50  ID:Vl8awOB0.net(2)
ごめん、
perl -ne 's/at[a-z]*?a/ /g ; while ( /([a-z]+)/g ){ print("$1\n") }'
の方が適切か?

681
デフォルトの名無しさん[sage]   投稿日:2016/05/05 17:21:59  ID:jemhh2fV.net(3)
そうそう本当まさにそんな感じ
ちょっと面倒な置換処理だから前後逆になるけど今はそうやって2回かけて処理させてる

682
デフォルトの名無しさん[]   投稿日:2016/05/06 06:53:01  ID:x6pgYKN7.net(2)
置換無しでやりたいならできなくもないが……

perl -ne 'print("$_\n") foreach grep { defined } /at[a-z]*?a|((?:(?!at[a-z]*?a)[a-z])+)/g'

あまりおすすめする気にはならない。

683
デフォルトの名無しさん[]   投稿日:2016/05/06 07:23:44  ID:x6pgYKN7.net(2)
これの方がいいかな……

perl -ne 'print("$_\n") foreach map { /([a-z]+)/g } /\G(.*?)at[a-z]*?a/cg , /\G(.*)/'

684
デフォルトの名無しさん[sage]   投稿日:2016/05/08 17:29:17  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/);

685
デフォルトの名無しさん[]   投稿日:2016/05/08 22:30:43  ID:F7OZ3lhh.net(3)
ある関数の第一引数の中身Aだけをとるような正規表現を書いているのですが上手く書けません。
サクラエディタのgrepで試しています。

本文:
func('A','B','C')

正規表現(funcから第一引数のシングルクォーテーションまでひっかかってしまう)
func\('.+?'
コメント1件

686
デフォルトの名無しさん[sage]   投稿日:2016/05/08 22:53:57  ID:Se7Rfius.net(4)
>685 こういうのじゃなくて?前段(?<=look-behind)に可変長使えないけど
(?<=func\(').+?(?=')
コメント1件

687
デフォルトの名無しさん[]   投稿日:2016/05/08 23:12:33  ID:F7OZ3lhh.net(3)
関数の前の文は可変長でなく、行頭固定になっています。
↑こういうことでいいのでしょうか??

結果として「A」が欲しいのですが、
「array('A'」が返ってきます。


抽出には2つぐらい側面があると思います。
1.関数の構文を抽出
2.第一引数を抽出(囲み文字除去)

これを一度にできるのかよくわかっていません。
最低限の情報「func('A'」は取れているので、
ここから整形していくのでも事足りますが。
コメント1件

688
デフォルトの名無しさん[sage]   投稿日:2016/05/08 23:33:47  ID:Se7Rfius.net(4)
>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')
コメント1件

689
デフォルトの名無しさん[sage]   投稿日:2016/05/08 23:40:40  ID:Se7Rfius.net(4)
フォルダ名誤魔化せてねえw酔っ払いは寝ますw

690
デフォルトの名無しさん[]   投稿日:2016/05/08 23:41:37  ID:F7OZ3lhh.net(3)
>688
ありがとうございます。取れました!

たまに正規表現使うけど、毎回つまづきます。
ドリルみたいなのやろうかなぁ。

691
デフォルトの名無しさん[sage]   投稿日:2016/05/08 23:50:09  ID:Se7Rfius.net(4)
あ、よかったよかったw
sakuraでも出来るけど、vimのインクリメンタルサーチ(キーボードコマンド / )が
即反応すっから楽よ(vimrcに :set hlsearch incsearch)。windowsならkaoriyaさん行けばなんとかなるっしょ。

692
デフォルトの名無しさん[]   投稿日:2016/05/09 00:25:28  ID:d1XxHLWY.net
はい、試してみます!

vim使えるとかっちょいいですよね。

693
デフォルトの名無しさん[sage]   投稿日:2016/05/10 14:28:46  ID:vqaogAj1.net
[]や|で条件を書き並べる場合って頻出するものほど左側に書いたほうがいいのでしょうか?
左から順に調べてるようならその方がいいかなと思ったのですが

694
デフォルトの名無しさん[]   投稿日:2016/05/10 16:04:02  ID:eU8B0sOX.net(3)
Perl で (pat1|pat2) という書き方をした場合は pat1 にマッチしたら pat2 は試行されない。

perl -e 'print("abcde" =~ /(c.|.de)/ )'

だからマッチさせたい順に書く必要がある。
文字クラスの場合は「そこに書いてあるすべての文字」に含まれるか(あるいは含まれないか)だから順序は関係ない。
処理系の実装の仕方によっては速度に影響するかもしれないが心配するほどの事はないだろう。
Perl じゃないなら違うルールがあるかもしれない。マニュアルに書いてあるかもしれないし明確には書いてないかもしれない。

695
デフォルトの名無しさん[]   投稿日:2016/05/10 16:26:20  ID:eU8B0sOX.net(3)
(pat1|pat2) と書いたときの pat1 と pat2 が排他的にしかマッチしないと判ってるなら
頻出するものほど先に試行されるように書けば速くなる可能性はある。
でもそれが「左から順に」なのかどうか…少なくとも Perl はそうだし大抵そうだとは思うけど……

696
デフォルトの名無しさん[]   投稿日:2016/05/10 16:49:53  ID:eU8B0sOX.net(3)
もしかしてだけど、flex とかを使ってるなら、頻出する順かどうかはあまり関係ないことになる。
これはパターンを DFA にコンパイルしているからで、grep も可能な場合はそうしているらしい。
おそらくあなたはそんなややこしいことを知りたかったわけではないでしょう。本当に申し訳ありません。
でも結局の所、あなたが何を使っているのか判らないので明確には言えないのです。

697
デフォルトの名無しさん[sage]   投稿日:2016/05/10 16:54:06  ID:1NI6zfsZ.net
速度は実測が基本

698
デフォルトの名無しさん[]   投稿日:2016/05/10 23:01:59  ID:4a+25nqa.net
DFA型は原理的に最長一致になる
たとえばAWKはそのパターン
NFA(VM)型はそうではない
Perlなど

699
デフォルトの名無しさん[sage]   投稿日:2016/05/13 17:17:28  ID:+WUK7FN+.net(3)
ここに書いてある正規表現はどう書けばいいでしょうか?
Jane Styleの質問に誰かが答えるスレ Part47 /ソフトウェア板

700
デフォルトの名無しさん[sage]   投稿日:2016/05/13 17:34:44  ID:+WUK7FN+.net(3)
と実体参照で空白文字が保存されていました
ありがとうございました

701
デフォルトの名無しさん[sage]   投稿日:2016/05/13 17:35:05  ID:+WUK7FN+.net(3)
&#32;と実体参照で空白文字が保存されていました
ありがとうございました

702
デフォルトの名無しさん[sage]   投稿日:2016/05/30 21:09:44  ID:IB3IbmGC.net(3)
ソフトウェア板のwhitebrowserスレで質問しましたが人がいないようなので
ここで質問させてください。
<div class="aaa"></div>
<div class="bbb">
<p class="ccc">文字列komento
<div class="ddd">文字列<A href="http://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]+)にすればよいと書いてあったんですがだめです。
よろしくお願いします。
コメント1件

703
デフォルトの名無しさん[sage]   投稿日:2016/05/30 21:36:52  ID:6l/rGwyM.net(2)
>702
改行(\n)は (.*) ではキャプチャできない
[\s\S]* とか [.\r\n]* とか
コメント1件

704
デフォルトの名無しさん[sage]   投稿日:2016/05/30 21:39:28  ID:6l/rGwyM.net(2)
よく読んでなかった
[\s\S]+?でダメだったのか
コメント1件

705
デフォルトの名無しさん[sage]   投稿日:2016/05/30 21:55:01  ID:NPHl4wm3.net
lineという変数名から推測するに、元々この変数に
一行分の文字列しか入ってないとか? もしそうなら
dddの方のdivはないのでマッチしないだろうな。
コメント1件

706
688[sage]   投稿日:2016/05/30 22:52:36  ID:IB3IbmGC.net(3)
お答えありがとうございます
>703
だめです
>704
だめでした
>705
まったく初心者でプログラムわからない状態で人がつくったものを改造してるので
もっとがんばってみます

上のほうにネストはParser使えとか書いてありましたがこれは違うのでしょうか
if(line.match(/<div class="ddd">(.+)/)){
komento = RegExp.$1.strip();
continue;
}
こうやると 文字列<A href="http://eee/"; >文字列</A>文字列</DIV></DIV>  これはものすごいヒットするんですが
/<p class="ccc">(.+)/ だとぜんぜんだめで/<p class="c(.+)/ こうやると cc"> とヒットします
</p>が省略されてると無理なんでしょうか

707
デフォルトの名無しさん[sage]   投稿日:2016/05/30 23:10:10  ID:IB3IbmGC.net(3)
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さんの指摘でがんばってみます

708
デフォルトの名無しさん[sage]   投稿日:2016/05/30 23:14:45  ID:7kwM1x1R.net
regexp

709
デフォルトの名無しさん[sage]   投稿日:2016/05/31 00:35:17  ID:Fu4PLM5v.net
.split('\n')で各行を分離して配列に格納してるんだぜ
これが解からないのなら改造はまだ早いんじゃないか
コメント1件

710
デフォルトの名無しさん[sage]   投稿日:2016/05/31 03:14:16  ID:Dv/sZKtx.net
>709
ありがとうございます
なるほどそういうことか

711
デフォルトの名無しさん[]   投稿日:2016/06/03 16:43:00  ID:omAy1yMo.net(5)
保存した複数の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
コメント1件

712
デフォルトの名無しさん[]   投稿日:2016/06/03 16:52:28  ID:oVxvX7jc.net
>711
そういうのはパーサつかってxpathやcssセレクタで指定するといいよ
コメント1件

713
デフォルトの名無しさん[]   投稿日:2016/06/03 17:13:46  ID:omAy1yMo.net(5)
>712
秀丸エディタをDLして、正規表現をググったのが1時間くらい前の自分にはもう手に負えないですね
とても経験値が足りない・・・大人しく手作業に戻ります

レスありがとうございましたorz

714
デフォルトの名無しさん[sage]   投稿日:2016/06/03 18:13:59  ID:1QnvZmyp.net
オンデマンド

715
デフォルトの名無しさん[sage]   投稿日:2016/06/03 18:22:31  ID:IHHtpHf1.net
秀丸より「複数行置換」っていうソフトならとっつきやすいかもしれない
正規表現でなくともお望みの作業が捗る可能性があると思う
コメント1件

716
デフォルトの名無しさん[]   投稿日:2016/06/03 18:49:20  ID:534uxXCy.net(2)
もう少し条件を明確にしてほしい。
単に script,script,script,link の順に現れた時に削除したいなら特に難しくは無い。

perl -0777 -pe 's%(?:(?><script.*?>.*?</script>)\s*){3}<link.*?>%%'

ただ、タグの終わり以外で > があったらとかそういうことを考えるとちゃんとパーサを使った方がいい。
そうでなくても、属性値が関係あるなら多分、パーサを使う方が楽。
コメント1件

717
デフォルトの名無しさん[]   投稿日:2016/06/03 19:31:31  ID:omAy1yMo.net(5)
>715
早速試してきましたが、範囲を決める表現が出来ずやはりダメでした

ソフトが多く出てるのでもっと気軽に出来るかと思ったんですがやはり難しいですねOrz

718
デフォルトの名無しさん[]   投稿日:2016/06/03 19:40:07  ID:omAy1yMo.net(5)
>716
複数のhtmlファイルがあり、それぞれの中に
http://i.imgur.com/sVuSXPN.jpg
この段落があり、これを楽に削除したいんです


これが長く、中の文字列がそれぞれ異なっているんです

719
デフォルトの名無しさん[]   投稿日:2016/06/03 19:43:03  ID:omAy1yMo.net(5)
パーサってのをググってみたが、素人の毛みたいな自分にはとても手が出せないとだけよくわかりました
自分では楽に出来ないというのがわかっただけでも少しすっきりしました

_| ̄|○ 構ってくれてありでした

残り65ファイル・・・がんばるぞ(´Д`)

720
デフォルトの名無しさん[sage]   投稿日:2016/06/03 20:15:24  ID:VlhAlbVL.net(3)
orz

721
デフォルトの名無しさん[sage]   投稿日:2016/06/03 20:15:55  ID:VlhAlbVL.net(3)
2重書き込みのため表示しません 内容を確認する

722
デフォルトの名無しさん[sage]   投稿日:2016/06/03 20:18:33  ID:VlhAlbVL.net(3)
hy

723
デフォルトの名無しさん[sage]   投稿日:2016/06/03 20:29:12  ID:lvHDuhOW.net
素人に毛が生えたとは言うけど毛の部分かよw

724
デフォルトの名無しさん[]   投稿日:2016/06/03 21:47:07  ID:534uxXCy.net(2)
そんなにたくさんあるなら……というか、なぜそんなことになってるのかも気になりますが、
諦めるにはまだ早いように思いますよ。
手作業でできるなら、その部分を見分けているということでしょう?
見分けることができるならそれをプログラムにすればいいんです。
あるいは逆転の発想で、残す部分を特定してそれ以外を削除するという方法もあります。

725
デフォルトの名無しさん[sage]   投稿日:2016/06/04 00:15:52  ID:3lsMjWzh.net
正規表現でも、複数行マッチはできる

マッチする始まりと終わりを、明確に定義して
始まりは、
<script

終わりは何?

そして、最短・最長マッチのどちら?
コメント1件

726
デフォルトの名無しさん[sage]   投稿日:2016/06/04 00:48:33  ID:Ps50QdLu.net
>725
多分そんな簡単なものじゃないだろう
複数のhtmlで全部記述が違うらしい
<script src=〜 />は広告らしきものwidgets.js等が含まれるものをチェックか?
<script type=〜や<link type=〜の方は何だろう
analytics.jsやarchive_ana、banner-styles.css等の広告らしこものを含むってことかな?

どれくらいhtmlファイルがあるのかにもよるけど、
俺なら、20個程度までならキーワード検索して手動で置換していくことを選ぶな

727
デフォルトの名無しさん[sage]   投稿日:2016/06/05 13:37:52  ID:j94Yoh41.net
スクレイピングでググると幸せになれるかもね。
ブラウザに読み込んで jQuery 辺りでやってもいいけど。

728
デフォルトの名無しさん[sage]   投稿日:2016/06/05 14:14:35  ID:iA3zFnyd.net
うむ

729
デフォルトの名無しさん[]   投稿日:2016/06/12 03:31:34  ID:73Qykobl.net
d12.IDやd34asd.Q23のようにdhogehoge.hugaをIDやQ23のようにhugaのみにしたいときは
どのように書けば引っかかってくれるでしょうか。
d*.のように書きましたがダメでした。

730
デフォルトの名無しさん[sage]   投稿日:2016/06/12 07:27:48  ID:zd4DMI3N.net
* はグロブ・正規表現で、異なる意味

グロブでは、0文字以上の任意の文字列

正規表現では、直前の文字が0個以上。
.* は、0文字以上の任意の文字列
コメント1件

731
デフォルトの名無しさん[]   投稿日:2016/06/13 09:02:38  ID:IO7ImC7y.net

732
デフォルトの名無しさん[sage]   投稿日:2016/06/13 09:13:51  ID:trc3/qjd.net

733
デフォルトの名無しさん[]   投稿日:2016/06/13 23:35:01  ID:Jxar6H6t.net
>731
>730
無事出来ました。ありがとうございます。

734
デフォルトの名無しさん[sage]   投稿日:2016/06/14 20:43:13  ID:JpAU7CI1.net
ぐぐってもちんぷんかんぷんでしたので助けてください!!1!1
複数桁の数字(桁数は2~8桁)
ここにあれこれ
ここに書き換えたい文字列
という書式の場合で複数桁の数字が10未満(以下でもかまわない)ならx、
11以上20未満(以下でもry)ならy、21以上30未満(ry)ならzという具合に三行目の部分を一行目の数字に応じて書き換えたいです
ソフトは複数行置換?というのを使おうと思っています!!へぷるみー!!!

735
デフォルトの名無しさん[sage]   投稿日:2016/06/14 21:07:54  ID:MJXh41jF.net
テンプレ使って書き直せ

736
デフォルトの名無しさん[sage]   投稿日:2016/06/15 09:03:40  ID:UhMCD/nz.net
とりあえず自分の言いたい事を整理する事と日本語の勉強から始めろ

737
デフォルトの名無しさん[sage]   投稿日:2016/06/15 09:15:50  ID:5nGrgvW4.net
何を言ってるんだか

738
デフォルトの名無しさん[sage]   投稿日:2016/06/15 09:34:23  ID:mJGEUiRz.net
どう考えても正規表現よりスクリプト書いたほうが早い案件

739
デフォルトの名無しさん[sage]   投稿日:2016/06/15 09:51:44  ID:YIat+Pjl.net
すみません!!720ですが自決しました!!!
ありがとうございました!!!
コメント2件

740
デフォルトの名無しさん[sage]   投稿日:2016/06/15 09:59:41  ID:zRCZ15a1.net
じけつ [自決]
1.自分の意志で態度・行動などを決めること。
2.責任をとって自殺すること。自裁。

741
デフォルトの名無しさん[sage]   投稿日:2016/06/15 13:11:46  ID:ltaRG/Ox.net
>739は2だろうね

742
デフォルトの名無しさん[sage]   投稿日:2016/06/15 13:27:37  ID:nv7wJLuk.net
>739
生きろ!

743
デフォルトの名無しさん[sage]   投稿日:2016/06/15 15:20:34  ID:gZwGLfL5.net
正規表現2.0を作って、区切り文字で複数表現可能、否定表現あり、文字コード指定可能に
拡張する動きはないのだろうか

744
デフォルトの名無しさん[]   投稿日:2016/06/17 06:39:43  ID:/w4sLl17.net
●Regular Expressionの使用環境
鬼車系のbregonig.dll 3.06対応テキストエディタ

●検索か置換か?
置換

●説明
前でマッチした文字列と同じ文字列が後ろで出てきたら、
その間の文字を区切り文字カンマに置換したい

●対象データ
hogefugahoge
イチロー林イチロ

●希望する結果
hoge,hoge
イチロ,イチロ

実際の対象データは改行を跨ぐこともあるのですが、
それだとbregonig.dll対応テキストエディタでメジャーなサクラエディタで
動作確認できないので、
サンプルデータは改行を跨がないものにしました。

宜しくお願いします。

745
デフォルトの名無しさん[sage]   投稿日:2016/06/17 07:13:49  ID:8ETU/t+F.net
(´・ω・`)

746
デフォルトの名無しさん[sage]   投稿日:2016/06/17 07:18:02  ID:vEeDcLaa.net
.

747
デフォルトの名無しさん[sage]   投稿日:2016/06/17 07:51:45  ID:Q79nDsuO.net
(.{2,})(.+?)\1
$1,$1
このサンプルデータだけなら動確サクラエディタ

748
デフォルトの名無しさん[sage]   投稿日:2016/06/17 08:01:19  ID:izLNj4Mm.net
肯定・否定の先読み・後読みで、できないか?

749
デフォルトの名無しさん[]   投稿日:2016/06/17 11:52:55  ID:MU7aCzOf.net
マ イ ン ド コ ン ト ロ ー ル の手法

・沢山の人が、偏った意見を一貫して支持する
 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法

・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法

偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い

靖 国 参 拝、皇 族、国 旗 国 歌、神 社 神 道を嫌う カ ル ト

10人に一人は カ ル ト か 外 国 人

「ガ ス ラ イ テ ィ ン グ」 で 検 索 を !

750
デフォルトの名無しさん[sage]   投稿日:2016/06/17 19:34:05  ID:yged7CRH.net
皆さんは肯定、否定、先読み、後読みの記号をどういう風に覚えているの?
何度覚えても忘れるんです。
コメント1件

751
デフォルトの名無しさん[sage]   投稿日:2016/06/17 19:45:29  ID:BW6jIpWJ.net
使ってりゃ覚えるだろ

752
デフォルトの名無しさん[sage]   投稿日:2016/06/17 20:14:27  ID:2jKkT25y.net
そらそうだ

753
デフォルトの名無しさん[sage]   投稿日:2016/06/17 21:42:53  ID:pDomqkOe.net
あるAndroidアプリで、任意の2つの文字列が、下記のようにセットされているのですが、この真ん中のダブルコロンをイコールで挟む意味が解りませんでした
そもそも正規表現でしょうか?

文字列あいう=:=文字列かきく
コメント1件

754
デフォルトの名無しさん[]   投稿日:2016/06/18 00:00:12  ID:TDIsYK64.net
ねづっちがなんだって?

755
デフォルトの名無しさん[]   投稿日:2016/06/18 01:59:37  ID:q51kEhx9.net
<=>
これは、宇宙船

756
デフォルトの名無しさん[sage]   投稿日:2016/06/18 15:01:36  ID:AGMP56Qn.net
>750
加法定理とか倍角の公式とか
和積公式積和公式全部言えるか?

757
デフォルトの名無しさん[]   投稿日:2016/06/20 23:56:45  ID:2ch+sFRM.net
mateで絵文字を正規表現で全部ひっかけたいんだけどシステム屋さん当該の正規表現おせーて

758
デフォルトの名無しさん[sage]   投稿日:2016/06/23 18:19:47  ID:9ARC/f7H.net
[+-0-9.]
と書いた場合
+
-
0〜9
小数点 .
のどれか一文字と言う意味になりますか?
マイナス記号が0-9なら範囲を表すのに
+-0
の部分では範囲と間違った解釈される心配は無いのですか?

759
デフォルトの名無しさん[sage]   投稿日:2016/06/23 18:21:44  ID:E1t+8hag.net
めっちゃあるよ

760
デフォルトの名無しさん[]   投稿日:2016/06/23 18:22:27  ID:O6DvkpvP.net(2)
気になるならこれで
[+\-0-9.]

761
デフォルトの名無しさん[]   投稿日:2016/06/23 18:23:14  ID:O6DvkpvP.net(2)
>小数点 .
>のどれか一文字と言う意味になりますか?

ここは小数点のみを期待するなら \. と書く必要があるんじゃね

762
デフォルトの名無しさん[sage]   投稿日:2016/06/23 18:40:42  ID:Aga9lXuQ.net
[]の中じゃ、 '.' や'*'はメタ文字じゃなくて文字の'.','*'を意味する
他にも '^'は先頭に記述したときのみ否定というメタ文字になるが途中だと'^'という文字を表す
'-'は先頭に書いたときには\でエスケープしなくてもいいが推奨は必ず\でエスケープすること

763
デフォルトの名無しさん[sage]   投稿日:2016/06/23 18:49:12  ID:QqtwN9tu.net
小数点なら \,\d とかにしないと

764
デフォルトの名無しさん[sage]   投稿日:2016/06/23 18:59:53  ID:kXV5qe3k.net(2)
[]内では.や+はメタ文字ではなくただそのままの文字
-は文字の間にある場合だけ文字コードの範囲を表す
だから[-+0-9.]や[+0-9.-]なら望み通り

765
デフォルトの名無しさん[sage]   投稿日:2016/06/23 22:21:43  ID:Q9+hvKHV.net
確かに、固定されて絶対変わらない保証があるなら仕様に従い-をそのまま書ける状況もあるけど
可読性なんかを考えたらエスケープしてやるのが確実だと思うわ

766
デフォルトの名無しさん[sage]   投稿日:2016/06/23 22:48:52  ID:kXV5qe3k.net(2)
そうだね
特に会社とか複数の人がメンテナンスに携わる環境ではむしろ積極的に\を付ける事になってたりする

767
デフォルトの名無しさん[sage]   投稿日:2016/06/24 11:12:00  ID:QDx4C0nH.net
付けなくていい場所に付けるのは可読性を損なうしメンテナンス性も悪化する

768
デフォルトの名無しさん[sage]   投稿日:2016/06/24 11:39:01  ID:+GusP/54.net(2)
人それぞれなもんだね

769
デフォルトの名無しさん[sage]   投稿日:2016/06/24 16:15:54  ID:35cWfWGi.net
他のは\付けないけど-だけは付けるようにしてる

770
デフォルトの名無しさん[sage]   投稿日:2016/06/24 22:35:52  ID:tRHi5MPl.net
[\]ではなくて[\\]が正しいですか?

771
デフォルトの名無しさん[sage]   投稿日:2016/06/24 23:02:08  ID:+GusP/54.net(2)
[\]だと\は\]で消費されて閉じの]が無くなる

772
デフォルトの名無しさん[sage]   投稿日:2016/06/25 01:01:10  ID:FsDaEVc+.net
\はエスケープのメタ文字なので、文字の\を表すには\を\でエスケープする必要がある
つまり\\

773
デフォルトの名無しさん[sage]   投稿日:2016/06/25 20:32:26  ID:6chkZTSI.net
>753
コロンでした済みません
:=(コロンイコール)で代入演算子までは分かったんですが
動作的には、正規表現|のようでした

条件A=:=条件B
コメント1件

774
デフォルトの名無しさん[sage]   投稿日:2016/06/26 04:27:16  ID:0bHamb0Z.net
>773
https://doc.perl6.org/routine/%3D%3A%3D#language_documentation_Operators
これじゃないの?
とりあえず、スレ違いだから他所で聞き直したほうがいい
コメント1件

775
デフォルトの名無しさん[]   投稿日:2016/06/26 12:19:10  ID:0pF/e0UG.net
今度は「Regrexit」、EU離脱を「後悔」
http://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日に下院の特別委員会が取り上げる見通しだという。

776
デフォルトの名無しさん[sage]   投稿日:2016/06/26 23:30:24  ID:I/qBn3J5.net
>774
コンテナ演算子?初めて聞きました
他で伺ってみたいと思います
ありがとうございました

777
デフォルトの名無しさん[sage]   投稿日:2016/06/27 00:14:08  ID:ywseg4PN.net
cv

778
デフォルトの名無しさん[]   投稿日:2016/06/29 15:19:08  ID:jeflfaNJ.net(5)
bash 4.2.46
grep 2.20 です。
以下のように文字列中の大かっこにパターンマッチしたいんですが、
なぜマッチしないのかわかりません。

$string="[string"
echo $string | grep [\[\]]  <-マッチしない
echo $string | grep [\]\[]  <-[と]を逆にするとマッチする

779
デフォルトの名無しさん[sage]   投稿日:2016/06/29 16:19:59  ID:Hg0Bm2HH.net(4)
シェルでも、*, \ などは、メタ文字だから、
grep では、" " で囲まないと、grepよりも先に、シェルが解釈してしまうのかな?

grep "[\[\]]"

bash -ivx オプションを付けて、
grep [\[\]] が、どう展開されるのか見てみ

780
デフォルトの名無しさん[]   投稿日:2016/06/29 16:46:07  ID:jeflfaNJ.net(5)
ダブルクオートでくくると、マッチしていた[\]\[]もマッチしなくなりました。
ivhをつけてみると、grep [[]]と grep [][] と表示されました。

正規表現の[] のなかで、「[」や「]」自身にマッチさせるのはなんか特殊
な方法がいるんでしょうか?

781
デフォルトの名無しさん[]   投稿日:2016/06/29 16:50:20  ID:jeflfaNJ.net(5)
あ、マニュアルを見たら以下のように書いてありました。

リテラル ] を含めるには、この文字をリストの先頭に
置いてください

だから[[]]はだめで、[][]はOKなんですね。

782
デフォルトの名無しさん[sage]   投稿日:2016/06/29 17:08:24  ID:Hg0Bm2HH.net(4)
var re1 = /[\[\]]/;
var re2 = /[\]\[]/;

var str = "[str";
console.log(str.match(re1));
console.log(str.match(re2));

JavaScriptだと、どちらも、1文字目の、[ で一致する

名前欄に、764と入れて投稿して

783
デフォルトの名無しさん[sage]   投稿日:2016/06/29 17:13:00  ID:y/YEecXu.net(2)
お津

784
デフォルトの名無しさん[sage]   投稿日:2016/06/29 17:13:59  ID:y/YEecXu.net(2)
thx

785
デフォルトの名無しさん[sage]   投稿日:2016/06/29 17:23:12  ID:GdB71I0S.net
bash使えんから想像なんだけど、
シェルで\がエスケープだとして、正規表現に\を渡すにはさらに\を\でエスケープすればどうかな?
[\\[\\]]

786
764[]   投稿日:2016/06/29 17:29:05  ID:jeflfaNJ.net(5)
ちなみに、grep のマニュアルには続きがあって以下だそうです。
初めて知りました。bashの正規表現でも同じ使い方じゃなくちゃダメでした。


----------------------------
リテラル ] を含めるには、この文字をリストの先頭に
置いてください。同様に、リテラル ^ を含めるには、この文字をリスト
の先頭以外に置いてください。リテラル - を含めるには、この文字をリ
ストの最後に置いてください。

787
デフォルトの名無しさん[sage]   投稿日:2016/06/29 17:39:05  ID:Hg0Bm2HH.net(4)
シェルスクリプトは落とし穴が多いから、難しいんだよ

Bashでは、! もエスケープ必要だし、

-(ハイフン)が文字列の最初に来ると、
オプションに解釈されるから、エスケープすらできないし

プログラミング言語の方が、文字列でエスケープする文字が少ないから、簡単

788
デフォルトの名無しさん[sage]   投稿日:2016/06/29 17:42:13  ID:Hg0Bm2HH.net(4)
[ ] 内では、[, ], ^, - の4つは、特殊な意味を持つから、要注意!

789
デフォルトの名無しさん[]   投稿日:2016/06/29 17:48:33  ID:jeflfaNJ.net(5)
\でエスケープすればOKと思ってたのが、そういうもんでもないんですね。
理由は分かりませんが。。
ご協力ありがとうございました。

790
デフォルトの名無しさん[sage]   投稿日:2016/06/29 18:07:51  ID:63bvN4qa.net
シェルが絡むと厄介なんだね
勉強になった

791
デフォルトの名無しさん[sage]   投稿日:2016/06/29 18:13:44  ID:lTepsFDI.net
um

792
デフォルトの名無しさん[sage]   投稿日:2016/06/29 19:12:33  ID:xPFVh+mM.net
KO

793
デフォルトの名無しさん[sage]   投稿日:2016/06/29 19:24:59  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では、[]の中では\によるエスケープも効きません(\自体もその特殊な意味を失ってしま
> う)。そういった場合に]や^、-といった[]内で特殊な意味を持つキャラクタをクラスに含めた
> いときには []^-]のように記述します。つまり、^は[の直後以外に、]は[の直後(補集合を指
> 定しているときには^の直後)に置き、-はリストの最後に置くというやり方を使います。
正規表現メモ
http://www.kt.rim.or.jp/~kbk/regex/regex.html#CCLASS

794
デフォルトの名無しさん[]   投稿日:2016/07/08 18:50:11  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
^^^^^^^^^
コメント1件

795
デフォルトの名無しさん[sage]   投稿日:2016/07/08 19:17:00  ID:dMXcsc44.net
z

796
デフォルトの名無しさん[]   投稿日:2016/07/08 19:20:55  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
^^^^^

でお願いします。
コメント2件

797
デフォルトの名無しさん[sage]   投稿日:2016/07/08 20:17:02  ID:WS5P2nLb.net
おお

798
デフォルトの名無しさん[sage]   投稿日:2016/07/09 00:09:33  ID:603N+6Q0.net
>796
.Replace(" ?ABC$", "")
コメント1件

799
デフォルトの名無しさん[sage]   投稿日:2016/07/09 13:30:44  ID:XZ2f4NeC.net
>796
([0-9]( ?[0-9])*)

800
デフォルトの名無しさん[sage]   投稿日:2016/07/09 14:15:53  ID:eZEsospS.net

801
デフォルトの名無しさん[]   投稿日:2016/07/11 17:21:37  ID:NUOClU+i.net
>798-799
ありがとうございました
先読みで(.*)(?=\s*)だとマッチせず困ってました

802
デフォルトの名無しさん[]   投稿日:2016/08/09 17:00:14  ID:xm47cYIn.net
XX-12,53,88-35,27,95-57,11,71-...
みたいな文字列があって-数字,数字,数字-の部分は複数回続くんだけど
XXの部分と数字の部分をキャプチャする正規表現って一つで書ける?
環境は何でもいい

803
デフォルトの名無しさん[sage]   投稿日:2016/08/09 18:35:54  ID:n5pitoha.net
(..\-\d\d,\d\d,*)*

804
デフォルトの名無しさん[sage]   投稿日:2016/08/10 13:56:01  ID:QZxl2haI.net
これは嫌なのか?
(XX)|(\d+)

805
デフォルトの名無しさん[sage]   投稿日:2016/08/23 13:12:53  ID:XDK3PVFI.net(4)
●Regular Expressionの使用環境
Mery 2.5.2

●検索か置換か?
置換

●説明
カッコ内にカッコのある1個目のカッコのみを削除したい

●対象データ
(あああ(いいい)ううう)えええ(おおお)

●希望する結果
えええ(おおお)
コメント1件

806
デフォルトの名無しさん[sage]   投稿日:2016/08/23 13:59:38  ID:MLERxFDs.net
例文ならこれでいけるが汎用性はどうかな?
\(.*?\(.*?\).*?\)
コメント1件

807
デフォルトの名無しさん[sage]   投稿日:2016/08/23 14:11:34  ID:XDK3PVFI.net(4)
>806
上手くいきました。どうもありがとうございました。

ただ
(あああ(いいい)ううう)えええ(おおお(かかか)ききき)
となっていると全文がマッチしてしまいました

808
sage[]   投稿日:2016/08/23 15:21:16  ID:R3EL7dRR.net
¥([^()]*¥([^()]*¥)[^()]*¥)
コメント2件

809
デフォルトの名無しさん[sage]   投稿日:2016/08/23 16:13:26  ID:XDK3PVFI.net(4)
>808
ありがとうございます。
すべてのカッコ内カッコが検索されますが、

(あああ(いいい)ううう)えええ(おおお(かかか)ききき)
の場合でも、1個目のカッコ内カッコのあるカッコだけを検索して

えええ(おおお(かかか)ききき) とできれば良いのですが
コメント1件

810
デフォルトの名無しさん[sage]   投稿日:2016/08/23 17:00:06  ID:GmZX4o5v.net
>809
^[^(]*\([^()]*\([^()]*\)[^()]*\)
コメント1件

811
デフォルトの名無しさん[sage]   投稿日:2016/08/23 21:09:09  ID:XDK3PVFI.net(4)
>810
ありがとうございます。
度々申し訳ありませんが

あああ(あああ(いいい)ううう)えええ(おおお(かかか)ききき)くくく
このようなケースでも1個目のカッコ内カッコのあるカッコだけを検索して

あああえええ(おおお(かかか)ききき)くくく とできればおそらくこれで完璧だと思われます。

812
デフォルトの名無しさん[sage]   投稿日:2016/08/24 00:00:08  ID:LDyc20HB.net
(?<x>\(([^()]++|\g<x>)*\))(.*)
$3
コメント5件

813
デフォルトの名無しさん[sage]   投稿日:2016/08/24 07:10:08  ID:6D91+vLT.net
>812
どうもありがとうございました。完璧です。
御回答いただいた皆様に感謝致します。

814
デフォルトの名無しさん[sage]   投稿日:2016/08/24 13:10:57  ID:Rn6iYoWl.net
>812
これすごいな。入れ子になっているのか
こういうの書ける人尊敬するわ

815
デフォルトの名無しさん[sage]   投稿日:2016/08/24 13:13:45  ID:HM4zCXGG.net

816
デフォルトの名無しさん[sage]   投稿日:2016/08/24 18:09:17  ID:mGpqCU5h.net
>812
なんか分からんが凄いな

817
デフォルトの名無しさん[sage]   投稿日:2016/08/24 18:17:40  ID:JVXWM8hM.net
ほんとに

818
デフォルトの名無しさん[sage]   投稿日:2016/08/25 01:44:01  ID:47oHd6Or.net
>812
わかろうとする気にならないほどだな

819
800[sage]   投稿日:2016/08/25 08:09:27  ID:RUhmm4s5.net(4)
>812
あ、でもこれって、

あああ(いいい)ううう(えええ(おおお)かかか)ききき(くくく)けけけ

のように、最初に出てくる括弧が「カッコ内カッコのあるカッコ」
ではない場合に

あああううう(えええ(おおお)かかか)ききき(くくく)けけけ

となってしまう気が…
この場合は

あああ(いいい)うううききき(くくく)けけけ

となってほしいというのが>805さんの要望だと僕には読めたの
ですが、違うのかな
いずれにしてもすごい正規表現だね。すごい

820
800[sage]   投稿日:2016/08/25 09:27:55  ID:RUhmm4s5.net(4)
>808さんのは、単に検索すると「すべてのカッコ内カッコが検索」されるけれど、

\([^()]*\([^()]*\)[^()]*\)(.*)$

と書き換えて、置換後を$1にするってのはどう?
これなら、最初に出てくる括弧の中に括弧がない場合でも
上手くいくと思いますが、勘違いしていたらごめんなさい

821
800[sage]   投稿日:2016/08/25 09:59:14  ID:RUhmm4s5.net(4)
連投すみません。楽しくなっちゃって

>812さんのは、括弧が3重以上でも上手くいくというのがすごいところ
ですね。
なので、最初に出てくるカッコが「カッコ内カッコのあるカッコ」
ではない場合(=1重カッコ)にヒットしないように書き換えて、

\([^()]+(?<x>\(([^()]++|\g<x>)*\))[^()]+\)(.*)
$3

これでどうだ!

822
デフォルトの名無しさん[sage]   投稿日:2016/08/25 12:01:47  ID:v6sPu6lS.net
そもそも <x> と言うのは何ですか?

823
デフォルトの名無しさん[sage]   投稿日:2016/08/25 12:17:56  ID:mC+7hpz+.net
名前

824
sage[]   投稿日:2016/08/25 13:10:27  ID:AMWIH4jj.net
“田中哲スペシャル”でぐぐれ
コメント1件

825
デフォルトの名無しさん[sage]   投稿日:2016/08/25 13:14:05  ID:LnEFg7Mi.net
なんだ

826
デフォルトの名無しさん[sage]   投稿日:2016/08/25 13:47:22  ID:RUhmm4s5.net(4)
(AA(BB(CC))DD)
のような多重カッコを「x」という名前で定義しておいて、
「(」と「)」の間に入っているものは
・「(」と「)」以外の文字の並び
もしくは
・x(=多重カッコ)
と再帰的に表現しているってことですよね

827
デフォルトの名無しさん[sage]   投稿日:2016/08/25 14:28:32  ID:56YmsHfW.net
>824
名前から釣りだと思いつつggったらめっちゃ為になった

828
デフォルトの名無しさん[]   投稿日:2016/09/09 15:51:38  ID:wCNlt+Gc.net
●Regular Expressionの使用環境
Javascript,PHP,Perl,Python

●検索か置換か?
検索

●聞きたいこと
この正規表現は何にマッチするのか

●正規表現
([^*]*)
コメント1件

829
デフォルトの名無しさん[sage]   投稿日:2016/09/09 16:06:05  ID:Ttxk6y+B.net
>828
「アスタリスク以外が0個以上連続」じゃないの

830
デフォルトの名無しさん[sage]   投稿日:2016/09/09 16:14:03  ID:Wsi0UfEI.net(2)
そうなのか

831
デフォルトの名無しさん[]   投稿日:2016/09/09 16:15:36  ID:Wsi0UfEI.net(2)
なるほど

832
デフォルトの名無しさん[sage]   投稿日:2016/09/12 14:39:32  ID:EFchVXk6.net
学校の宿題は自分でやれよw

833
デフォルトの名無しさん[]   投稿日:2016/09/25 08:47:14  ID:UOma1c6b.net(4)
よろしくお願いします。
●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

834
デフォルトの名無しさん[]   投稿日:2016/09/25 08:52:20  ID:UOma1c6b.net(4)
対象データ追加です
●対象データ
reg [7:0] name1;
reg [7:0] name1, name2;
reg [7:0] name1, name2, [16:0] name3;


●希望する結果
name1

name1
name2

name1
name2
name3

835
デフォルトの名無しさん[sage]   投稿日:2016/09/25 09:18:17  ID:DeKyBBx0.net
んm

836
デフォルトの名無しさん[sage]   投稿日:2016/09/25 09:31:36  ID:hrPU7kVw.net
複数列の1行を、1列の複数行に変換してから、処理すれば簡単

reg [7:0] name1, name2, [16:0] name3;

reg
[7:0]
name1,
name2,
[16:0]
name3;

837
デフォルトの名無しさん[]   投稿日:2016/09/25 10:37:30  ID:UOma1c6b.net(4)
正規表現でどうぞ

838
デフォルトの名無しさん[sage]   投稿日:2016/09/25 11:14:40  ID:dhuBOAuX.net(2)
ほい

839
デフォルトの名無しさん[sage]   投稿日:2016/09/25 11:16:44  ID:dhuBOAuX.net(2)

840
デフォルトの名無しさん[]   投稿日:2016/09/25 11:32:22  ID:UOma1c6b.net(4)
ほい。わかった。
できんのか思ってたが、なんか1回の記述でできそうやな。まあお前らには無理や
と思うが、俺がもうちょっと考えたらできるわ。

841
デフォルトの名無しさん[sage]   投稿日:2016/09/28 21:48:53  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

842
デフォルトの名無しさん[sage]   投稿日:2016/09/29 01:57:46  ID:Gm/yyr2U.net
サイトがちこっと模様替えしたね
https://regex101.com/

843
デフォルトの名無しさん[sage]   投稿日:2016/10/22 12:15:35  ID:AdTl/Wc+.net(2)
JavaScriptでreplaceをする為に
/(パターン1)(パターン2)|(パターン3)(パターン4)/
こういうパターンを書いた場合、OR記号 | で連結しているので、キャプチャ結果が
$1, $2
になると期待したのですが、そうならないのですか?
実際にやってみると
$1, $2 と $3, $4
に入るようなのです。
コメント2件

844
デフォルトの名無しさん[sage]   投稿日:2016/10/22 12:44:39  ID:TjQcy2Bo.net
それをやりたいならこうじゃ
/(パターン1|パターン2)(パターン3|パターン4)/
コメント1件

845
デフォルトの名無しさん[sage]   投稿日:2016/10/22 13:10:27  ID:AdTl/Wc+.net(2)
>844
なるほど。
/(パターン1|パターン3)(パターン2|パターン4)/
ですね。

でもそれだと
期待している条件は
(パターン1)(パターン2)か
(パターン3)(パターン4)なのに、
それ以外の組み合わせ
(パターン1)(パターン4)
(パターン3)(パターン2)
の場合にもマッチしてしまうと思うのですが。

846
デフォルトの名無しさん[sage]   投稿日:2016/10/22 20:53:49  ID:aAqIiVw5.net
括弧の数だけ後方参照は返るのだから>843は当然の結果だと思うが
具体的に返って欲しい結果は何?
全てのパターンを書き出してみ、>843の意図と見る側の解釈が一致しないと話が始まらない

847
デフォルトの名無しさん[sage]   投稿日:2016/10/22 21:50:09  ID:OR93Coso.net
多分
/((?:パターン1)(?:パターン2))|((?:パターン3)(?:パターン4))/
ってことかな?

848
デフォルトの名無しさん[sage]   投稿日:2016/10/22 22:17:35  ID:twuqKzoy.net
u

849
デフォルトの名無しさん[sage]   投稿日:2016/12/20 21:15:18  ID:P0MVHdnM.net
正規表現って言葉がかたすぎる
もっとみんなが興味をもつ言い方に変えないの?
コメント2件

850
デフォルトの名無しさん[sage]   投稿日:2016/12/20 21:49:53  ID:Ry/2H8uD.net
興味津々だよ

851
デフォルトの名無しさん[sage]   投稿日:2016/12/21 12:42:59  ID:kCrlwcjM.net(2)
>849
固いというより意味が通じ難いと思う

852
デフォルトの名無しさん[sage]   投稿日:2016/12/21 13:02:28  ID:AIOqBHAK.net
>849
理系にネーミングセンスを求めてはならない
その他と区別できるという条件さえ満たす名であればなんでもいい人種だから
名称自体を正規表現で表さなかったことに感謝している

853
デフォルトの名無しさん[sage]   投稿日:2016/12/21 13:40:38  ID:kCrlwcjM.net(2)
正規表現って訳さいしょに使ったの石田晴久だっけ
コメント1件

854
デフォルトの名無しさん[sage]   投稿日:2016/12/21 14:16:05  ID:AabNbAoI.net
これ以上ないくらい直訳なんだが

855
デフォルトの名無しさん[sage]   投稿日:2016/12/21 20:30:42  ID:2CwQi8oD.net
せいきがかたくてきょうみしんしん
なるほど

856
デフォルトの名無しさん[]   投稿日:2016/12/21 21:16:28  ID:8i27l//u.net
d

857
デフォルトの名無しさん[sage]   投稿日:2016/12/21 21:17:12  ID:e5558qWf.net
なんちゃって照合
自在照合

858
デフォルトの名無しさん[sage]   投稿日:2016/12/21 21:39:55  ID:cAK1T9+M.net
置換とか挿入とかが付いてまわるから、
この組み合わせどーにかできなかったのかよ
とはよく思うが他の言い回しも思いつかない
会話してるだけでいつかセクハラでほんとに訴えられる

859
デフォルトの名無しさん[sage]   投稿日:2016/12/21 21:50:37  ID:nmy+aY6o.net
数学用語でregularと言ったら、正則と訳することが多いけどね

860
デフォルトの名無しさん[sage]   投稿日:2016/12/21 22:14:58  ID:l+YTvMLn.net
うん

861
デフォルトの名無しさん[sage]   投稿日:2016/12/21 22:46:11  ID:AxC8I5w6.net
正規表現、字で見るとなんともおもわないが
音で聞くと、・・・・
正規表現のこと知らない女性に訴えられるね

862
デフォルトの名無しさん[sage]   投稿日:2016/12/22 20:44:35  ID:TsoHImGD.net
正規雇用の正規だよと言えば理解した気になってもらえる。

863
デフォルトの名無しさん[sage]   投稿日:2016/12/22 20:52:11  ID:mxTJlKmu.net
非正規の彼女だったら、そんなこと口が裂けたって言えないな

864
デフォルトの名無しさん[sage]   投稿日:2016/12/24 16:39:44  ID:0uYWbX0H.net
>853
呼び捨てすんなよ
先生と呼べよ

865
デフォルトの名無しさん[sage]   投稿日:2016/12/24 16:42:23  ID:8EM69YXY.net
石田のK&R翻訳書は糞で有名

866
デフォルトの名無しさん[sage]   投稿日:2016/12/25 11:45:12  ID:QywZQROL.net
ユーザー登録制のサイトで、勝手な名前を登録出来ると例えば
Admin、管理者、マネージャ、、、
など、いかにも一般ユーザーではないような名前を付ける人も出てきます。
そういう名前を登録出来ないようにしたいのですが、自分で正規表現でそういうのを排除しようと
思ったのですが、そういう目的に使えるような便利なライブラリなどありませんか?
要するに排除する単語の選定だけの問題なのですが、既に誰か作っていないかなあと思って。
アダルト系、人種差別系の名前も排除したいので、考えれば結構範囲が広いんです。
コメント2件

867
デフォルトの名無しさん[sage]   投稿日:2016/12/27 14:02:43  ID:9ynixZS2.net
>866
どんなものにも得手不得手ってものがあるわけで
なぜその処理をするのに正規表現が選択肢になるのか意味不明
コメント1件

868
デフォルトの名無しさん[sage]   投稿日:2016/12/27 14:35:26  ID:xrzl8aBc.net
まあブラックリスト、ホワイトリストには大体正規表現が書けるようにはなってる
そういうリストを自分で作るんじゃなくて欲しいんなら探すしかない

869
デフォルトの名無しさん[sage]   投稿日:2016/12/27 16:02:11  ID:hI/o5Uh3.net
>867
パターンマッチングの典型例だろ。
意味不明と言う意味が不明

870
デフォルトの名無しさん[sage]   投稿日:2016/12/27 16:14:01  ID:Vdczj+/E.net
u

871
デフォルトの名無しさん[sage]   投稿日:2016/12/27 18:47:29  ID:4mpySA7a.net
出来の良い辞書があれば済みそうな話に見えるけど、そうでもないのか

872
デフォルトの名無しさん[sage]   投稿日:2016/12/27 19:28:33  ID:OB8e5g5W.net
日本語を許可してる時点で無駄じゃね
チンコを意味する言葉だけで辞書1ページ埋まるくらいあるし
全部NGに出来たとしても記号混ぜられたらそれまでだろ
報告されたら対処するくらいでいいと思うが

873
デフォルトの名無しさん[sage]   投稿日:2016/12/28 06:19:32  ID:+BGeVry5.net
のどちんこ

874
デフォルトの名無しさん[sage]   投稿日:2016/12/28 12:52:22  ID:kFL7wfb2.net
ぱちんかす

875
デフォルトの名無しさん[sage]   投稿日:2016/12/28 13:09:32  ID:wvS2FZtE.net
既存のブラックリストがあれば欲しいという話ならまだ分からなくもないけど
ブラックリストでパターンマッチングさせて弾く処理なんてどんな言語だろうが初歩中の初歩の処理だろ
なぜ正規表現のスレで>866を質問しようと思ったのだろう

876
デフォルトの名無しさん[sage]   投稿日:2016/12/30 19:56:57  ID:2Pbjmvkx.net(2)
●Regular Expressionの使用環境
PHP

●検索か置換か?
検索

●説明
preg_splitを使ってカンマ"," での文字列分割
その際カンマの前後の半角スペースを無視したい

●対象データ
値1, 値2, 値3,値4 , 値5

●希望する結果
値1
値2
値3
値4
値5

よろしくお願いします

877
デフォルトの名無しさん[sage]   投稿日:2016/12/30 20:52:56  ID:WcpJxD6e.net
エスケープだの引用符だの言い出さないなら、 / *, */ ←顔文字みたい
コメント1件

878
デフォルトの名無しさん[sage]   投稿日:2016/12/30 21:10:19  ID:2Pbjmvkx.net(2)
>877
ありがとうございます

879
デフォルトの名無しさん[sage]   投稿日:2016/12/30 21:15:01  ID:jGOjX1NN.net
 ^ω^)

880
デフォルトの名無しさん[]   投稿日:2016/12/30 21:48:44  ID:/ZkHAa1O.net

881
デフォルトの名無しさん[]   投稿日:2016/12/31 05:55:37  ID:CmyPhKPF.net
文字化けを発見しやすくするためにもPOSIX正規表現にasciiクラスを正式採用してもらいたい

882
デフォルトの名無しさん[]   投稿日:2017/01/06 20:46:01  ID:v+2zhO4e.net
よろしくお願いします。

●Regular Expressionの使用環境
mi(ミミカキエディット www.mimikaki.net/)

●検索か置換か?
置換

●説明
英単語のリストがあるのですが、各単語の最初の文字は残して、
残りを全て全角スペースに置換したい。

●対象データ
ABCA
BCAA
CABA

●希望する結果
A□□□
B□□□
C□□□
コメント1件

883
デフォルトの名無しさん[sage]   投稿日:2017/01/06 23:01:40  ID:rJ39SB5o.net
>882
(?<=.).
そのエディタ知らないけど肯定後読みでできないかな
コメント2件

884
デフォルトの名無しさん[sage]   投稿日:2017/01/07 00:03:11  ID:FuDWh40R.net
http://support.mimikaki.net/mi/help/regexp.htm ヘルプ見たら後読みはなさそうだ
・単に行頭だけ残す
(?!^).→全角空白
・連続したアルファベットの先頭だけ残す
(?!\b[A-Za-z])[A-Za-z]→全角空白

885
デフォルトの名無しさん[sage]   投稿日:2017/01/07 01:32:30  ID:Rh9gPNyY.net
\B.→全角空白

886
デフォルトの名無しさん[]   投稿日:2017/01/07 02:13:58  ID:IrIkzzkt.net
1.矩形選択で全行の1文字目切り取りって待避
2.[A-Z]を全角空白に置換
3. 1.で切り取ったものを矩形ペースト
でいけたけど全角空白の表示がわからんのねこれ

887
デフォルトの名無しさん[sage]   投稿日:2017/01/07 07:55:08  ID:9O+kjQ8i.net
そもそも正規表現で、n個のAに置換するとか、あらかじめ数が分からないのに、出来るのか?
AA, AAA に置換するのは出来るけど

普通に、ファイルを読んで、1文字ずつ変換した方が良さそう
コメント2件

888
デフォルトの名無しさん[sage]   投稿日:2017/01/07 08:48:09  ID:2RoNSSAN.net
>887
>883-885 のパターン(一文字にマッチ)で s///g の g に該当する指定(全て置換、等)をすればいいのでは?

つか \B いいな、vimにもホスィ、\<\@! とか書けるけど

889
デフォルトの名無しさん[sage]   投稿日:2017/01/07 15:30:40  ID:B2JCMQMI.net
>887
n個をn個に置換するという表現は出来ないからそうでない表現を考える(勿論プログラミングではコールバックでどうとでもなるけども)
今回は先頭の1文字に続くn文字をn文字で置換する, から非単語境界に続く全ての1文字を1文字で置換する, に置き換えて考えればよい

890
デフォルトの名無しさん[sage]   投稿日:2017/01/10 02:26:03  ID:lqVFUn0Z.net(2)
javascriptのソースで遭遇したんですが、

[ -~]

ってどういう正規表現なんですか?英文字とマッチしてるようなんですが・・・
コメント1件

891
デフォルトの名無しさん[sage]   投稿日:2017/01/10 02:38:26  ID:fP39RQYT.net
>890
ASCIIコードで書けば [\x20-\x7e] で印字可能文字の全体
\x00-\x1f, \x7fは全て制御文字
コメント1件

892
デフォルトの名無しさん[sage]   投稿日:2017/01/10 03:07:46  ID:lqVFUn0Z.net(2)
>891
なるほど!そういう意味だったんですね…何かの特殊文字化と思って???状態でした。
ありがとうございます

893
デフォルトの名無しさん[sage]   投稿日:2017/01/16 19:51:15  ID:GvJtwLGJ.net
>883-889
ありがとうございます。
¥B.→全角空白でいけました!

894
デフォルトの名無しさん[sage]   投稿日:2017/01/17 01:06:22  ID:TKHULUbB.net
gawkは、/[a-z]/で英大文字もマッチする
小文字だけのチェックなどしないから長い間気がつかなかった

ぐぐったら有名なバグだった
コメント1件

895
デフォルトの名無しさん[sage]   投稿日:2017/01/17 14:11:55  ID:QWXHES32.net
>894
マジ?
普通に

$ echo "HELLO¥nhello" | gawk '/[a-z]/'
hello

になったんだが、バージョン違い?(4.1.1です)
コメント1件

896
デフォルトの名無しさん[sage]   投稿日:2017/01/18 00:05:35  ID:b8uVoaAX.net
>895
ごめん、バージョン3. です
4. は直っているらしいです、まだ使っていませんが

897
デフォルトの名無しさん[sage]   投稿日:2017/01/18 12:45:38  ID:Igfwm5uK.net(7)
●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

●希望する結果
あいうえお
かきくけこ
さしすせそ

おねがいします
コメント1件

898
デフォルトの名無しさん[sage]   投稿日:2017/01/18 13:02:42  ID:Igfwm5uK.net(7)
補足
(a|c|e)(.*?)(b|d|f) 一致せず
これをやったのは最初にaにマッチした時は必ず次に最初にマッチするのはbだからです。cにマッチしたら次にマッチするのはd、eにマッチしたら次にマッチするのはf
対ではない他の文字列が先に出てくることはありません
コメント1件

899
デフォルトの名無しさん[]   投稿日:2017/01/18 13:08:13  ID:2zcCu4Ky.net(2)
[ace](.*?)[bdf]
コメント1件

900
デフォルトの名無しさん[sage]   投稿日:2017/01/18 13:15:05  ID:Igfwm5uK.net(7)
>899
ありがとうございます
説明不足すいませんabcdefのやつは実際は1文字じゃないんです

901
デフォルトの名無しさん[sage]   投稿日:2017/01/18 13:17:28  ID:lqRpqFwx.net(2)
>898
たとえば、aあいうえおc にはマッチしてほしくないってこと?

902
デフォルトの名無しさん[sage]   投稿日:2017/01/18 13:20:33  ID:aCeYQIzy.net(3)
(?<=a).*?(?=b)|(?<=c).*?(?=d)|(?<=e).*?(?=f)
コメント2件

903
デフォルトの名無しさん[sage]   投稿日:2017/01/18 13:20:35  ID:lqRpqFwx.net(2)
違った。ええとつまり、aで始まればbで終わり、cで始まればdで終わる、ってこと?
コメント1件

904
デフォルトの名無しさん[sage]   投稿日:2017/01/18 13:26:42  ID:Igfwm5uK.net(7)
>903
そうです!

905
デフォルトの名無しさん[sage]   投稿日:2017/01/18 13:30:40  ID:U5PxsZIV.net
(a(.*?)b)|(c(.*?)d)|(e(.*?)f)
だと駄目?
コメント1件

906
デフォルトの名無しさん[sage]   投稿日:2017/01/18 13:32:34  ID:aCeYQIzy.net(3)
>905
キャプチャの番号がズレるでしょうよ

907
デフォルトの名無しさん[sage]   投稿日:2017/01/18 13:43:13  ID:2zcCu4Ky.net(2)
ruby 2.2.1でa(.*?)b|c(.*?)d|e(.*?)fでマッチするけど?

908
デフォルトの名無しさん[sage]   投稿日:2017/01/18 13:46:16  ID:aCeYQIzy.net(3)
並列にキャプチャするとキャプチャ結果引っ張ってくるの手間じゃない?

909
デフォルトの名無しさん[sage]   投稿日:2017/01/18 15:07:05  ID:Igfwm5uK.net(7)
>902
試してみました
java.util.regex.PatternSyntaxException: Look-behind pattern matches must have a bounded maximum length near index 95:
と返ってきてしまいました。どういうこと?

910
デフォルトの名無しさん[sage]   投稿日:2017/01/18 15:31:10  ID:1DV8OvrA.net
aやらbやらに可変長パターン用いてるんでないの?
実際に使用しているパターンを晒さないと前に進まないと思うよ

911
デフォルトの名無しさん[sage]   投稿日:2017/01/18 16:15:59  ID:Igfwm5uK.net(7)
a <div class=\"number\">
b </div><div class=\"name\">
c <div class=\"date\">.*?\\)
d \\.
e <div class=\"message\">
f </div></div>
です
可変長のやつを中で使ってはダメなのか!
コメント1件

912
デフォルトの名無しさん[sage]   投稿日:2017/01/18 17:17:59  ID:ZI2HwePN.net
>911
cは括弧の対応が取れてないと思うんだがコピーミス?
可変長がダメなのは>902の奴で、>897の最初の奴で良さそうに思えるんだが
ただ、.*?だともしもデータの対応が取れてなかったらごそっとキャプチャしちゃう恐れがあるし、その時はダンマリか猛烈に遅くなる可能性もある
コメント1件

913
デフォルトの名無しさん[sage]   投稿日:2017/01/18 17:43:31  ID:HRpr9Zj8.net
可変長戻り読みはコストが大きいから無理(Javaは可能だが上限あり)
面倒だけどキャプチャ括弧で頑張るしかない

で, そのパターンから見るにHTMLなんだろうけど, それ正規表現じゃなきゃいけませんかってとりあえず聞いておく
HTMLパーサライブラリなんて世にいくらでもありますよ, と

914
デフォルトの名無しさん[sage]   投稿日:2017/01/18 18:13:58  ID:clhGKXZp.net
>HTMLパーサライブラリなんて世にいくらでもあります
まずはそこだよなw

915
デフォルトの名無しさん[sage]   投稿日:2017/01/18 21:24:14  ID:Igfwm5uK.net(7)
>912
コピーミスではないんですが間違ってましたか!

とりあえずエスケープもちゃんととって答えてくれたやり方やってみましたが正しく取れませんでした
自分の環境のせいかもしれません
キャプチャ括弧というのでやってみようと思います
何度も限定的な同じことを繰り返すから正規表現のほうが軽いかなと思ったんですけどhtmlパーサーってやつの方がいいみたいですね。それも検討してみます
どうもありがとうございました!

916
デフォルトの名無しさん[sage]   投稿日:2017/01/28 18:23:15  ID:DLwo47M5.net(4)
秀丸で
2009年1月
2011年3月
2011年11月
2013年12月
のような行がたくさんあるのですが
2009年 1月
2011年 3月
2011年11月
2013年12月
のようにしたいのですが
年.月
で1-9月が検索できることは分かったのですが
置換先にどう書いたらよいのでしょうか

917
デフォルトの名無しさん[sage]   投稿日:2017/01/28 18:30:20  ID:XnHJw37P.net
年(\d)月
年 $1月
でどうかな?
コメント2件

918
デフォルトの名無しさん[sage]   投稿日:2017/01/28 18:41:22  ID:DLwo47M5.net(4)
>917
検索(S): 年(\d)月
置換(E): 年 $1月
としたら結果は
2009年 $1月
2011年 $1月
2011年11月
2013年12月
となってしまいました。正規表現(R)のチェックボックスは入れています。
検索で出てきたサルでも分かる正規表現入門とMIFESサンプル集のページを見ましたが
置換用メタ文字というのが分からなくて困っているんですね私は、たぶん。

919
デフォルトの名無しさん[sage]   投稿日:2017/01/28 19:16:27  ID:yUzAOYuJ.net
秀丸持ってないから分からんけど\1とか
コメント1件

920
デフォルトの名無しさん[sage]   投稿日:2017/01/28 20:04:13  ID:DLwo47M5.net(4)
Windows PowerShellだとsedあるのかなとか思いましたが、無かったorz
秀丸スレで聞いてみます

921
デフォルトの名無しさん[sage]   投稿日:2017/01/28 20:34:54  ID:DLwo47M5.net(4)
>917
>919
レスありがとうございます
秀丸スレで教えてもらうことができました

検索(S): 年([0-9])月
置換(E): 年 \1月

922
デフォルトの名無しさん[sage]   投稿日:2017/01/29 00:11:31  ID:ahYjitv7.net(2)
\1 は検索文字内で使うものであって、置換の方は $1 を使うのが自然なんだけどな
秀丸の実装が腐ってるのか
コメント1件

923
デフォルトの名無しさん[sage]   投稿日:2017/01/29 00:14:49  ID:pBh4CFEL.net
うっm

924
デフォルトの名無しさん[sage]   投稿日:2017/01/29 01:17:12  ID:q/JB8S+S.net(2)
>922
同様のsedという例があるからなぁ・・・・
そもPOSIX標準で置換に関して規格ってあるんだっけ?

まぁPCREでも.NETの正規表現でも使った方がいいんじゃねとは思う
秀丸自体最早古臭いけど

925
デフォルトの名無しさん[sage]   投稿日:2017/01/29 04:19:46  ID:9/7795aT.net
秀丸はbregonig.dllを使えるので正規表現の機能的には十分だし
他のエディタではあんまりない機能
「正規表現でのインクリメンタルサーチ」
ができるので重宝してる

926
デフォルトの名無しさん[sage]   投稿日:2017/01/29 06:22:34  ID:ahYjitv7.net(2)
Perl では $1 を推奨してるだけで規格自体は無いかなぁ
でも bregonig.dll で $1 が使えるのに、置換に使えないっていうのはおかしい
コメント1件

927
デフォルトの名無しさん[sage]   投稿日:2017/01/29 07:31:12  ID:q/JB8S+S.net(2)
>926
デフォルトではbregonigじゃなくてHmJreなんだろ
何も不思議じゃない

928
デフォルトの名無しさん[sage]   投稿日:2017/01/29 11:54:45  ID:Gjda/nA+.net(2)
Windowsのエディタっていま何が主流なんですか?
コメント1件

929
デフォルトの名無しさん[sage]   投稿日:2017/01/29 12:00:04  ID:CRRLjGuc.net
すごいもんeditしようとしてるな

930
デフォルトの名無しさん[sage]   投稿日:2017/01/29 12:13:54  ID:Gjda/nA+.net(2)
えっ!?(なんでワカタの)

931
デフォルトの名無しさん[sage]   投稿日:2017/02/04 15:35:39  ID:e9aNESBj.net
>928
禿丸

932
デフォルトの名無しさん[]   投稿日:2017/02/17 00:43:55  ID:aR5hX4hL.net
$1とか\1とか効いたり効かんかったり、イライラするのは何故?←訊くな

933
デフォルトの名無しさん[sage]   投稿日:2017/02/20 16:30:36  ID:D++FG3XO.net(4)
●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の要素番号は数千ぐらいまであって
「=」の右側の式もこんなに単純ではないです。

934
デフォルトの名無しさん[sage]   投稿日:2017/02/20 16:41:33  ID:D++FG3XO.net(4)
↑あまり過去ログ読んでなくて、もし既出だったら教えて下さい...

935
デフォルトの名無しさん[sage]   投稿日:2017/02/20 16:54:47  ID:Hh/GX1rY.net(2)
正規表現で足し算出来るのかな?
でもね、こう言う場合は
Int n=0
hogehoge(n)="AAA";n=n+1;
hogehoge(n)="BBB";n=n+1;
とかにしておくと、いいよ。
コメント1件

936
919[sage]   投稿日:2017/02/20 17:11:19  ID:D++FG3XO.net(4)
>935
すみません、例を単純化しすぎました。
実際には

hogehoge(0) = "AAA"
hogehoge(0) = hogehoge(0) & "XYZ"

みたいに同じ要素が複数回出現するので「hogehoge」にヒットさせて
直後の()内の数字を+1するしかないかなと思っています。
コメント1件

937
デフォルトの名無しさん[sage]   投稿日:2017/02/20 17:21:36  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やサクラエディタのスレで聞け
コメント1件

938
922[sage]   投稿日:2017/02/20 17:27:47  ID:D++FG3XO.net(4)
>937
1つの行内ではその要素番号しか出てこないです。
あと要素番号の戻り、例えば

hogehoge(3) = "DDD"
hogehoge(2) = hogehoge(2) & "EEE"

みたいにある要素の処理の次にそれより若い番号の要素の処理が来ることもありません。

でも確かに正規表現の範疇ではなかったですね。
すみません。去ります。

939
デフォルトの名無しさん[sage]   投稿日:2017/02/20 17:28:24  ID:Hh/GX1rY.net(2)
>936
その足し算処理の
vb.netプログラム書けばいいんじゃないか?
数千行をファイルに書いておいて
配列に読み込んで
正規表現で(数字)見つけて1足す
どうかな?
3分あれば出来る。

940
デフォルトの名無しさん[sage]   投稿日:2017/02/21 00:06:28  ID:DnJwQ0KY.net
実際に要素番号を+1する必要あるの?
↓こういう置換でいいんじゃね?
hogehoge(2+1) = "CCC"
hogehoge(3+1) = "DDD"
hogehoge(4+1) = "EEE"

941
デフォルトの名無しさん[sage]   投稿日:2017/02/21 03:30:05  ID:BY3mJNCy.net
配列に数千行も代入文が続くなんて
どう見てもステップ数稼ぎででかくしたとしか思えん
ステップ数あたりでお金を払ってだらそういうこともされるだろうよ

942
デフォルトの名無しさん[sage]   投稿日:2017/02/21 05:37:02  ID:Mc+Bkh/z.net
全然スレチなのであまり詳しくは書かないけど
Excel使ってそういうコード書くのは何回かやったことがある
数値をインクリメンタルさせる部分はExcelの機能に頼って
セルの値を文字列連結させてコードに仕立て上げる

943
デフォルトの名無しさん[sage]   投稿日:2017/02/21 09:27:34  ID:bUsqhz7M.net
>手入力でこの行を新たに追加
ってのが、エディタ内でやるのか、コマンドラインで挿入コマンドを打つのか、で対処の仕方が変わると思うけど
追加する行をどう選定してるのかな

944
デフォルトの名無しさん[sage]   投稿日:2017/02/23 14:39:51  ID:5Z+LEgjB.net(2)
5桁の数字で44032から55215だけにマッチさせる表現はありますか?
自分で作ったら42〜や40〜にもマッチしてしまう気がします
どうぞご教示お願いします
コメント2件

945
デフォルトの名無しさん[sage]   投稿日:2017/02/23 15:06:04  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])))
コメント1件

946
デフォルトの名無しさん[sage]   投稿日:2017/02/23 15:28:46  ID:5Z+LEgjB.net(2)
>945
うわー、早速ありがとうございます
まだ読みこなせていませんが[0-9]を使っていい範囲と、使ってはいけない範囲を分解してORで書く感じですね
これが使えないのは意地悪ですよね
[44032-55215]
コメント1件

947
デフォルトの名無しさん[sage]   投稿日:2017/02/23 15:55:01  ID:qZcVpQDS.net
[ab-cd]がab〜cdの範囲にならないのも意地悪か?

948
デフォルトの名無しさん[sage]   投稿日:2017/02/23 16:13:12  ID:VAe27q9f.net
そもそも正規表現でやることじゃないし意地悪とか意味不明
コメント1件

949
デフォルトの名無しさん[sage]   投稿日:2017/02/23 16:14:48  ID:lo050pCS.net
何にでも得手不得手ってあるからな
プロ野球選手にサッカーやらせてヘタクソって言ってるみたいなもんだ

950
デフォルトの名無しさん[sage]   投稿日:2017/02/24 00:50:49  ID:q1JDjPNt.net
>946
何でそれで行けるべきと思ったの?
コメント1件

951
デフォルトの名無しさん[]   投稿日:2017/02/24 06:14:30  ID:pM2eDGo5.net
>950
横からでスレチで悪いが「行けるべき」はさすがに気持ち悪い。(反応不要です)

952
デフォルトの名無しさん[sage]   投稿日:2017/02/25 12:34:06  ID:flbrvxvt.net
>944
俺はそういう数の範囲をマッチさせる正規表現を組み立てて返す関数をPerlで作ったわ
再起呼び出しを駆使すれば意外とシンプルなコードが出来るぞ

>948
正規表現でのみ検索してデータを返すシステムだと正規表現でやるしかないんだわ
データを全部受け取って比較演算子でやれればいいんだけどな
コメント1件


953
デフォルトの名無しさん[sage]   投稿日:2017/02/25 12:58:27  ID:d9mNErv5.net
>952
まあそういうことだけど、そんな場合ってあまり無いよね
多分質問者もそういう環境じゃないと思うな
言語系ではないだろうからエディタ、excel等だと思うけどマクロが組めないだけなんだろう
コメント1件

954
デフォルトの名無しさん[]   投稿日:2017/02/25 15:45:30  ID:uYJa88pq.net
正規表現だけで対応すべきか、素直にプログラムを書いて対応すべきかを見極めるのが、正規表現と付き合ううえで一番大事な部分。

955
デフォルトの名無しさん[]   投稿日:2017/02/25 23:44:12  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"

よろしくお願いします!
コメント2件

956
デフォルトの名無しさん[sage]   投稿日:2017/02/26 05:09:07  ID:mfQeCKHi.net(6)
>955
php知らんので確認はできないけど
(?:<input\s(?=[^>]*?type=["']image["'])|\G)[^>]*?src=["']\K([^"']+)
でどうかな?
「<input type = image」のような記述も許すのなら改造してくれ
コメント1件

957
デフォルトの名無しさん[sage]   投稿日:2017/02/26 05:15:54  ID:mfQeCKHi.net(6)
あっ末尾括弧不要だね ["']+

958
デフォルトの名無しさん[]   投稿日:2017/02/26 12:18:45  ID:2VvxLCqH.net
>955
単に拡張子を狙って
(images/.+)\.(png|jpg|gif)
なんてのはどうでしょう
コメント1件

959
デフォルトの名無しさん[sage]   投稿日:2017/02/26 12:33:57  ID:DjVx44l4.net
ディレクトリの名前はimagesとは限らないんじゃない?
preg_match_all('/(?<=[\'"])[\w\/-]+\.(?:jpe?g|gif|png)(?=[\'"])/i',$data,$match);

とかはどう?

960
デフォルトの名無しさん[sage]   投稿日:2017/02/26 12:48:58  ID:mfQeCKHi.net(6)
そうだね
用件が、inputタグで属性typeがimageの場合とあるけど
サイト引っ越すんならそんな場合に限定するのはおかしいので
全部(他のタグ中や普通の表示文字列内や、コメント内にあったとしてもそれも)
取り出したほうがいいもんね

961
941[]   投稿日:2017/02/26 14:41:53  ID:/FywCWxK.net(2)
>956
希望したかたちでひろえました、ありがとうございます!
>958-960
通常のimgタグは945に似た形の正規表現で処理済みでした、ありがとうございました。

復習しておきたいんですが
「正規表現 量指定子」とかだと942の\Gとか\Kでてこないんですが
なんてググればいいでしょうか?
コメント1件

962
デフォルトの名無しさん[sage]   投稿日:2017/02/26 16:15:05  ID:340uhvEW.net
>953
うん、あまり無いね
初めて出くわしたときは眩暈がしたわ

963
デフォルトの名無しさん[sage]   投稿日:2017/02/26 17:00:40  ID:mfQeCKHi.net(6)
>961
もう見つかってるとは思うけど
正規表現入門とか解説とかいうページは読み物としてはいいかもしれないが機能を検索するには不向き
まずは機能一覧を探すようにする
例えばphpの場合は、公式マニュアルを最初に探す
「php 正規表現 マニュアル」
そうすれば、次には「エスケープシーケンス」も検索に追加するとかが分かる
http://php.net/manual/ja/regexp.reference.escape.php
他の言語の場合も
「正規表現 ruby」「正規表現 鬼車」とかでまず機能一覧のページを探せばいい
コメント1件

964
デフォルトの名無しさん[sage]   投稿日:2017/02/26 17:11:28  ID:mfQeCKHi.net(6)

965
デフォルトの名無しさん[sage]   投稿日:2017/02/26 18:00:18  ID:iMAoOT+h.net
最近紙の技術書とか読まなくなったな。
使いたい機能を見つけるのに時間がかかりすぎる。
正規表現検索対応の電子ブックで出してくれたら買うんだが。

966
デフォルトの名無しさん[sage]   投稿日:2017/02/26 18:05:23  ID:1a5Lx6dL.net
正規表現は独自拡張が多過ぎるからC++で採用されたECMAScriptの正規表現を中心に後はライブラリのマニュアルとか見るしかないと思う

967
デフォルトの名無しさん[]   投稿日:2017/02/26 18:23:17  ID:/FywCWxK.net(2)
>963
エスケープシーケンスね、ありがとうございます。
コメント1件

968
デフォルトの名無しさん[sage]   投稿日:2017/02/26 20:23:41  ID:mfQeCKHi.net(6)
>967
使ってないとは思うが、独自データ属性でdata-type="image"とかがあったら誤爆するんで訂正
(以前のレスで["']+とか用件とか間違い発言もあるがさらっと流してね)
(?:<input\s(?=[^>]*?(?<=\s)type=["']image["'])|\G)[^>]*?src=["']\K[^"']+

969
941[]   投稿日:2017/02/27 03:32:24  ID:Gb3k9mdh.net
フォローありがとうございます。
> 独自データ属性
そんな高度なものは使っていなかったので大丈夫でしたが違いを確認します!

970
デフォルトの名無しさん[sage]   投稿日:2017/03/10 06:33:36  ID:9DaoieFN.net
「RegEx」ってどう読むの?

971
デフォルトの名無しさん[sage]   投稿日:2017/03/10 09:51:57  ID:K9fW84T9.net
レギュラーエクスプレッション

972
デフォルトの名無しさん[]   投稿日:2017/03/10 12:27:48  ID:7jiyOitp.net
正規表現

973
デフォルトの名無しさん[sage]   投稿日:2017/03/10 17:19:49  ID:Qd1RBCEf.net
レグエックス

974
デフォルトの名無しさん[sage]   投稿日:2017/03/10 21:32:21  ID:nO8xf2gI.net
Fedex のように発音するとどこかに書かれてた。
コメント1件

975
デフォルトの名無しさん[]   投稿日:2017/03/10 21:35:15  ID:1tgzEo2G.net
ネイティブの発音だと「レゲェ」って聞こえる

976
デフォルトの名無しさん[sage]   投稿日:2017/03/10 23:03:16  ID:tXKdCDND.net
>974
オライリーの「詳説正規表現」に書かれてたね
自分は「レゲックス」なのか「レジェックス」なのか分からずにいる

977
デフォルトの名無しさん[sage]   投稿日:2017/03/10 23:32:21  ID:nXK4riNi.net
regularの発音に沿うならレゲックスっぽい
コメント1件

978
デフォルトの名無しさん[sage]   投稿日:2017/03/10 23:40:40  ID:1IM+xFdJ.net(2)
今までレグイーエックスと言っていたが、レゲックスていいな、そう呼ぶかな

て、よく考えたら脳内でしか使うことないからどうでも良いか

979
デフォルトの名無しさん[sage]   投稿日:2017/03/10 23:43:33  ID:1IM+xFdJ.net(2)
>977
沿ったらレギュックスに思えてきた…

980
デフォルトの名無しさん[sage]   投稿日:2017/03/11 02:12:11  ID:0+qQEpf8.net(2)
http://ejje.weblio.jp/content/regex
リージェックスって言ってる
コメント1件

981
デフォルトの名無しさん[sage]   投稿日:2017/03/11 02:17:46  ID:eS2MfmCX.net(2)
cflagsをしーえふえるえーじーえすって読んでるから多分機械読みだぞ

982
デフォルトの名無しさん[sage]   投稿日:2017/03/11 03:41:24  ID:0+qQEpf8.net(2)
発音記号・読み方 /ˈɹɛdʒˌɛks(英国英語)/
って書いてあんじゃん
コメント1件

983
デフォルトの名無しさん[sage]   投稿日:2017/03/11 04:25:00  ID:eS2MfmCX.net(2)
/??????ks/もあるんだよなぁ

984
デフォルトの名無しさん[sage]   投稿日:2017/03/11 06:33:15  ID:ksNuoGmO.net(2)
素直に読めば「レジェクス」だと思うんだけど
一人もいないね・・・

985
デフォルトの名無しさん[]   投稿日:2017/03/11 08:25:08  ID:Z8dykLLF.net
大文字になっているEを単語の区切りと見て素直に読むと、レグエックスかも知れん。
コメント1件

986
デフォルトの名無しさん[sage]   投稿日:2017/03/11 08:39:37  ID:RCY883uq.net
exit読みから派生してレジイク

987
デフォルトの名無しさん[sage]   投稿日:2017/03/11 09:08:04  ID:h5T3JHpB.net
レジクソだろ

988
デフォルトの名無しさん[sage]   投稿日:2017/03/11 10:18:11  ID:8EPAG5jM.net
レゲエが拡張された新しい音楽スタイル、レゲックス。

989
デフォルトの名無しさん[sage]   投稿日:2017/03/11 11:04:00  ID:JsoExgwj.net(2)
>980
そんなのアテにならん

990
デフォルトの名無しさん[sage]   投稿日:2017/03/11 11:05:34  ID:JsoExgwj.net(2)
>985
レグェックス

991
デフォルトの名無しさん[sage]   投稿日:2017/03/11 16:38:47  ID:ksNuoGmO.net(2)
なんか吐いてるみたいw

992
デフォルトの名無しさん[sage]   投稿日:2017/03/11 19:37:16  ID:M5Z0zeDZ.net
極力舌を上顎に付けないrの発音を練習しておいて
gexの部分を「ウェッ」みたいに言えるようになってから、

「正規表現とかけて赤ワインの飲みすぎと解く、その心は?」
「ェウェッ…」

ってネタをやってる

993
デフォルトの名無しさん[sage]   投稿日:2017/03/13 12:46:35  ID:1nW2SDLA.net
TeXはテフだよね。だからレゲッフだと思う

994
デフォルトの名無しさん[sage]   投稿日:2017/03/13 13:46:51  ID:N3DmujAP.net(3)
うじぇ

995
デフォルトの名無しさん[sage]   投稿日:2017/03/13 13:47:05  ID:AvyIY0iY.net
regexはリージェックスって脳内で読んでたが少数派か

rege…という綴りをまんまローマ字読みするのはものすごく違和感がある
それなりに英語ができる人は同じ違和感を覚えるんじゃないかな

996
デフォルトの名無しさん[sage]   投稿日:2017/03/13 13:50:40  ID:N3DmujAP.net(3)

997
デフォルトの名無しさん[sage]   投稿日:2017/03/13 13:54:49  ID:RsKsx8Gp.net
レジェックスとか言ってる人は
regenerateを”れじぇねれーと”とかallow,denyを"あろー,でにー"とか言ってそう
いわゆる日本人読みやな
コメント1件

998
デフォルトの名無しさん[]   投稿日:2017/03/13 14:31:12  ID:N3DmujAP.net(3)
warning

999
デフォルトの名無しさん[sage]   投稿日:2017/03/13 14:31:47  ID:A9v11X3F.net
ぬるぽ

1000
デフォルトの名無しさん[sage]   投稿日:2017/03/13 19:07:11  ID:83MIjbrk.net
>997
では外国人読みは
コメント1件

1001
デフォルトの名無しさん[]   投稿日:2017/03/13 19:49:58  ID:xj6UKIPj.net
へじぇっ

1002
デフォルトの名無しさん[sage]   投稿日:2017/03/13 22:19:32  ID:DSeW/X1Y.net
ドイツ語やラテン語をある程度知ってるとレゲックスは自然に感じる

1003
デフォルトの名無しさん[sage]   投稿日:2017/03/14 10:24:26  ID:vbV/Jpv3.net(2)
補充

1004
デフォルトの名無しさん[sage]   投稿日:2017/03/14 12:36:40  ID:6d/Dn8y7.net
>1000
日本語で書けばリージェックスやろ
>982に発音記号も書いてあるやん
regeという字面ならreは日本語で書くと”り”と発音するのが普通

読み方1つで教養ってでるよな
ALTをアルトなんて読むアホはalternativeという単語も知らないのだろうし

1005
デフォルトの名無しさん[sage]   投稿日:2017/03/14 12:45:02  ID:zY6yKh7C.net
allow denyなんかは中学英語のアクセントや読み方の頻出単語だから
まともに読めない人は色々とお察しはする
コメント2件

1006
デフォルトの名無しさん[sage]   投稿日:2017/03/14 13:00:00  ID:Hvng9m9D.net
外国語 = 英語という短絡もお察し

1007
デフォルトの名無しさん[sage]   投稿日:2017/03/14 13:29:37  ID:dFlCfFI8.net
>1005
嘘やろ
denyを中高で習った覚え無いわ
今調べてもセンター試験対策レベル扱いだし

1008
デフォルトの名無しさん[sage]   投稿日:2017/03/14 15:57:04  ID:vbV/Jpv3.net(2)
>読み方1つで教養ってでるよな

1009
デフォルトの名無しさん[sage]   投稿日:2017/03/14 16:02:24  ID:GQqLH83Y.net
造語で正式な読みも規定されてないし、IPAの発音記号だって2つ併記されてるものをどうこう言うのも大人気ない
2つのうちの好きなほう使えばいいじゃん

1010
デフォルトの名無しさん[sage]   投稿日:2017/03/14 18:36:34  ID:gK5uM7c+.net
>1005
こないだ職場でデニーって読んで
「デニーズじゃないんだからw」とバカにされたとこだよ…orz

1011
デフォルトの名無しさん[sage]   投稿日:2017/03/14 19:06:49  ID:ODacrlG+.net
俺中卒だけどデナイだろ?

1012
デフォルトの名無しさん[sage]   投稿日:2017/03/15 01:00:45  ID:ko4BTSP2.net(2)
次スレ立ててくるよ

1013
デフォルトの名無しさん[sage]   投稿日:2017/03/15 01:57:31  ID:458LHYZa.net
中学で英語だけは年に1回は100点取ってたけど
denyを教わったことはない

1014
デフォルトの名無しさん[sage]   投稿日:2017/03/15 02:10:35  ID:ko4BTSP2.net(2)
規制もらってたので代行お願いしました

Regular Expression(正規表現) Part14 [無断転載禁止]©2ch.net
Regular Expression(正規表現) Part14
更新情報
・スレッド一覧ページで過去ログのタイトル検索・一覧表示ができるようになりました(2016/1/20)
NGワード登録
登録する
スレッド内検索

プログラム板 タイトル検索

このスレッドが人気です(実況系)
羽鳥慎一モーニングショー★2 (989)テレ朝実況
実況 ◆ フジテレビ 83768 バニラエア (975)フジ実況
ビビット 6/29(木) ★1 (582)TBS実況
羽鳥慎一モーニングショー★3 (178)テレ朝実況
はやドキ!& あさチャン!木曜日★2 (764)TBS実況
実況 ◆ 日本テレビ 55658 (440)NTV実況
実況 ◆ テレビ朝日 48389 (120)テレ朝実況
連続テレビ小説 ひよっこ★151 (818)NHK実況
このスレッドが人気です(ニュース系)
【社会】車いす客にタラップはい上がらせる ANA傘下のLCCバニラ・エアが謝罪 ★21 (435)ニュー速+
【社会】車いす客にタラップはい上がらせる ANA傘下のLCCバニラ・エアが謝罪 ★20 (1001)ニュー速+
自民・金子恵美(39)が公用車で子供を保育園に送迎www安倍ちゃん聞こえますか。オイ、安倍ェ! (255)ニュー速
【プレ金】「プレミアムフライデー定着の兆し。早く帰れなくても豊かな週末を」推進協議会が打った記事風全面広告に失笑の嵐 (448)ニュー速+
【社会】車いす客にタラップはい上がらせる ANA傘下のLCCバニラ・エアが謝罪 ★19 (1001)ニュー速+
【芸能】バニラエアは「明らかに法に反する」乙武洋匡さんが指摘 車椅子での搭乗拒否問題で ★2 (664)音楽・芸能ニュース
【文春】下村博文元文科相、加計学園から200万円違法献金の疑い★5 (62)ニュー速+
【痴漢】JR上野駅「痴漢転落死」は超一流ホテルの支配人だった 被害女性は非番の神奈川県警警部補「手触った!」警官10人以上と追跡★7 (118)ニュー速+
プログラム板の人気スレ
ふらっと C#,C♯,C#(初心者用) Part129 (485)
Xamarin Part4 (1001)
くだすれPython(超初心者用) その34 (585)
【統計分析】機械学習・データマイニング15 (1004)
C言語なら俺に聞け 140 (640)
Java入門・初心者質問スレ Part.3 (986)
オブジェクト指向って自然な文法だな 3 (921)
スレ立てるまでもない質問はここで 148匹目 (381)
Pythonのお勉強 Part53 (429)
Visual Studio 2017 Part2 (749)
次世代言語議論スレ[Go Rust Scala Haskell]第5世代 (145)
ねねっちと一緒にプログラムを勉強するスレ第2話 (896)
Swift part10 (988)
C++相談室 part130 (617)
JavaScript の質問用スレッド vol.123 (638)
Ruby 初心者スレッド Part 60 (420)
推薦図書/必読書のためのスレッド 81 (905)
プログラミング言語 Rust 3 (228)
Git 15 (912)
Visual Studio 2015 Part8 (768)
このサイトについて
このサイトは2ちゃんねるからデータを取得し、表示するサービスです。
画像のインライン表示機能について
画像のURLの後ろにある[画像をインライン表示]をクリックすると、URLの下に表示します。
表示される画像は横幅100pxに縮小されていて、クリックすると原寸で表示します。
このサイトの特徴
1)スレッド内検索ができます
2)レス(「>>1」など)のポップアップができます
3)不適切な言葉を含む投稿を表示しません
4)ページ内で画像を直接表示できます
5)2ch他スレッドへのリンクはタイトル・板名つきでリンクします
6)すっきりとしたデザインで表示します
7)最新スレや前スレをチェック・一覧表示します
8)NGワード機能の搭載でイヤな言葉が目に入りません
9)荒らしを自動チェックします
10)スレッド内・同一IDの書き込みだけ表示できます
11)レスの返事をレスされた発言の下に表示する「まとめビュー」が利用できます
12)シリーズ化したスレッドの一覧を表示します
13)最新のスレッドがある場合はお知らせします
削除について
こちらをご覧ください
機能要望について
現在機能要望受付中です。
問い合わせについて
こちらのページからどうぞ
広告


首都圏の方、ソフトバンク光オススメですよ


このサイトは2ch.scからデータを取得・表示しています。削除などについてはこちらをご覧ください。 アクセスモード:差分取得 - 新着書き込みなし(304)