[過去ログ] Regular Expression(正規表現) Part14 [無断転載禁止]©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
24
(2): 2017/03/30(木)01:42 ID:1DorAGfX(1/2) AAS
失礼します。質問させていただきます。
複数行からなるデータを、指定したピッチ(行)おきに消したいのですが、やり方を教えて下さい!
例えば
中1行空けてなら1,3,5,7
中2行空けてなら1,4,7,10
中3行空けてなら1,5,9,13
の行を削除していくみたいな感じです。
出だしは1行目からでなくても、これは行の調整でなんとか出来そうです。
できるだけ手順が少ないのが理想です。やり方解る方マジ教えてほしいです!
手作業でやってて疲れてしました。まだいっぱいあります・・・お願いします。
25: 2017/03/30(木)02:07 ID:J79lEXio(1) AAS
それエディタのマクロでやること
26
(1): 2017/03/30(木)02:20 ID:7+t5IDTq(1) AAS
>>24
gawk
27: 2017/03/30(木)03:34 ID:Z/GqZVkW(2/3) AAS
何かスクリプトが使えるなら簡単だけど
正規表現だけでは難しそう
いらない行だけに含まれている
決まった文字、記号があるとか、またはその逆みたいな
いらない行を判断出来る要素があれば正規表現の検索置換で可能
28: 2017/03/30(木)04:00 ID:Z/GqZVkW(3/3) AAS
あそっか、上から3行づつとかで切っていけばいけるのか
明日試してみよっと。
29
(1): 2017/03/30(木)04:11 ID:LEwdK5Fw(2/2) AAS
中1行ずつに削除なら(.*)¥n.* を ¥1に置換
中2行ずるに削除なら(.*)¥n.*¥n.* を ¥1に置換
みたいな方法でできるけど
特別な理由が無い限りエディタのマクロ使うかスクリプト使うね
30: 2017/03/30(木)04:16 ID:UdsMclqE(1) AAS
正規表現でって言うけど何使うのかな?
Perl?
31: 24 2017/03/30(木)06:57 ID:1DorAGfX(2/2) AAS
AA省
32: 2017/04/01(土)03:40 ID:4EJbPXqm(1/2) AAS
(?i)((\S+ ){5}|^(\S+ ){0,5}?)(\bAAA\b)(( \S+){5}|( \S+){0,5}?$)

英文からある単語AAAを検索して前後5文字づつ一緒に取得
ただし途中に改行がある場合は改行前まで

上の表現で目的は達成したのですが
疑問が湧いたので質問です
A|Bのような単純またはではなくて
ifのような条件で切り替えるような正規表現はありますか?
(各種のスクリプト言語に依存しないやり方で)
合わせて、上の表現よりもこうした方が良いとかあったら
よろしくお願いします。
33
(1): 2017/04/01(土)03:45 ID:FRLTAWk8(1) AAS
外部リンク[html]:www.regular-expressions.info
外部リンク[html]:www.rexegg.com
34: 2017/04/01(土)10:44 ID:4EJbPXqm(2/2) AAS
>>33
ありがとうございます!
35
(1): 2017/04/02(日)20:30 ID:g6KuPxH9(1/2) AAS
ファイル名の置換(linuxのrenameコマンド)で
rename パール正規表現 対象ファイルで置換が出来るみたいです。

test_20140402_1810.m4aをtest_20140402.m4aに"_1800"を削除したいのですが、
rename 's/_d{4}\.m4a$/\.m4a/' test_20170402_1810.m4a
としてもうまく行かずにエラーも出ずにファイル名も変わりません。

"_"+"数字4桁"+".m4a"にマッチするようにして".m4a"に置換すればいいかと思ったのに出来ていない。
何処が間違ってますか?
36: 2017/04/02(日)20:41 ID:TvISwdcG(1) AAS
>>35
dのところのエスケープ
あと置換文字列はピリオドにエスケープいらない
マッチしないだけだからエラーがでなくてもおかしくない
37: 2017/04/02(日)22:31 ID:g6KuPxH9(2/2) AAS
ありがと。うまく行ったよ。
38
(2): 2017/04/12(水)19:00 ID:QHemYrmG(1/2) AAS
正規表現で任意文字以外を消すにはどうしたらいいですか?
検索でヒットしたものだけ残したいということです。
よろしくおねがいします。
39
(1): 2017/04/12(水)20:59 ID:u8woYKAJ(1/2) AAS
>>38
漠然とした質問だから漠然としか答えられないけど
キーワードを含む文全体(先頭から末尾まで)をマッチさせて
それをキーワードに置換させればいい
40
(2): 2017/04/12(水)21:00 ID:ud+oociV(1) AAS
[^(abc)]
これでabc以外の文字が全部選択できる
でもこれってどういう時に使うんだろう?
結局残るのがabcだけなら
わざわざ検索しなくてもよさそうだけど
41: 2017/04/12(水)21:12 ID:u8woYKAJ(2/2) AAS
>>40
なんか勘違いしてそうな記述なんだけど?
それは、(,a,b,c,)の5文字以外の1文字を表してる
文字列abc以外を表すのなら
(?:(?!abc).)
42: 2017/04/12(水)21:52 ID:ixmoPw8q(1) AAS
Ruby 2.4.1で使えるようになった非包含オペレータ便利
外部リンク:qiita.com
43
(1): 38 2017/04/12(水)22:16 ID:QHemYrmG(2/2) AAS
>>39>>40
レスをありがとうございます。
やろうとしてたのは下記例のような場合で、-で直接挟まれた文字のみ残したいというものです。

消-残-残--消 -残--消 -残-
消--残--消 -消 -残-
44
(1): 2017/04/13(木)05:45 ID:Bx+Z85rt(1) AAS
- と - の間の文字列で空白文字が入っちゃいかんということならこんな感じ?

perl -ne 'print( /(?<=-)([^-\s]+)(?=-)/g ,"\n")'

こういうことじゃないならもう少し説明を。
45
(1): 43 2017/04/14(金)03:41 ID:8AuQ8qy9(1) AAS
>>44
レスをいただきありがとうございます。教えて頂いた記述はPerlということであってますよね?
Perlを導入して使ってみてからレスをお返ししようといろいろ調べていたら、大変遅れてしまい礼を欠いてしました。
いろんなサイトを見過ぎたせいか、結局導入方法が絞れないというか、よくわからなくり、
時間だけが過ぎましたので不甲斐なく申し訳ないですが兎に角お礼まで。どうもありがとうございました。
46
(1): 2017/04/14(金)08:15 ID:mEmX7gnv(1) AAS
ブラウザから実行すれば、簡単

paiza.IO, codepad なら、ログインもいらない
47
(1): 2017/04/14(金)09:03 ID:uldWbSLb(1) AAS
>>45
とりあえず>>1-2を嫁
48
(1): 2017/04/14(金)11:21 ID:7lZUeeAF(1) AAS
置換でやるとすると、これでどうかな?
これなら適当なエディタやWSH(JScript)ででも実行できる
(先頭の.*?を[\s\S]*?に変えれば、改行コードは末尾のみになる)
ただ、もしかすると考慮抜けの場合があるかも

正規表現:/.*?-([^\s-]+)(?=-)|-*[^-]*?(\r)?$/mg
置換文字:$1$2
49
(1): 2017/04/15(土)02:46 ID:8aYCgh5m(1/2) AAS
レスをくださった方々、また遅くなりましたがありがとうございます。
>>46
こんな便利なものがあるんですね!教えていただきありがとうございます。またゆっくり触ってみたいとおもいます。
>>47
質問方法の不備を自覚しました。以後気を付けます。申し訳ありません。
>>48
サクラエディタで希望どうりの置換えが出来ました。本当にありがとうございます。
たて続けになり申し訳ないのですが。できればもう一つお聞きしたいです。
下記のような英文やその他も、単語と単語の間に入る半角スペースを許容することは可能でしょうか?
-Good Morning-
省3
50
(1): 2017/04/15(土)09:28 ID:7fUWShMv(1/5) AAS
>>49
それは別件なのか?
-a -b-
の場合、その条件なら
a b
が残ることになるけど?
それでいいなら、\sを抜くだけでもいいし、(?=-)も取ってもいい
51
(1): 2017/04/15(土)10:02 ID:7fUWShMv(2/5) AAS
ごめん、「間に入る」だったのか
/.*?-((?:[^-\s]| )*[^-\s])(?=-)|-*[^-]*?\r?$/mg
$1
52
(1): 2017/04/15(土)10:07 ID:7fUWShMv(3/5) AAS
\rもいらないか
/.*?-((?:[^-\s]| )*[^-\s])(?=-)|-*[^-]*?$/mg
53
(1): 2017/04/15(土)10:21 ID:7fUWShMv(4/5) AAS
これじゃまずい
/.*?-((?:[^\s-]| )*[^\s-])(?=-)|.*-(?:[^\s-]| )*[^\s-](?=[^-])|-*[^-]*$/mg
冗長かもしれない
54
(1): 2017/04/15(土)10:24 ID:7fUWShMv(5/5) AAS
↑でも問題ないけど
/.*?-((?:[^\s-]| )*[^\s-])(?=-)|.*-(?:[^\s-]| )*[^\s-](?!-)|-*[^-]*$/mg
55: 2017/04/15(土)11:39 ID:8aYCgh5m(2/2) AAS
>>50-54
無理を利いてくださりありがとうございます。
実は最初の質問に穴があったので別件という形で再質問させていただきました。失礼しました。
教えて頂いた記述は完璧でした本当に感謝です!
レスも何度もくださってこの度は大変お世話になりました。
56
(2): 2017/04/20(木)21:29 ID:rsUIJG5Q(1/2) AAS
●Regular Expressionの使用環境
Becky!

●検索か置換か?
検索

●説明
+0900以外に一致

●対象データ
+
-
+0
省11
57
(1): 2017/04/20(木)21:30 ID:rsUIJG5Q(2/2) AAS
+
-
+0
-0
+09
-09
+090
-090

-0900
+09000
省5
58
(1): 2017/04/21(金)08:10 ID:P/4d/uOg(1/2) AAS
Beckyで使えるかは知らんけど
^(?!\+0900$).*
59
(1): 2017/04/21(金)12:02 ID:30M0P9UI(1) AAS
zip版をダウロードしてchmヘルプファイルを見てみたら、
正規表現は本当に基本的なものしか無かった
(?!)はおろか()とかのキャプチャ自体無い(括弧は優先順位が上になるだけ)
[abc-d]もダメ( ([ab]|[c-d])と分けて書くらしい)
だから、やるなら
^[^+]|^\+$|^\+[^0]|^\+0]$|^\+0[^9]|…と全ての場合を併記するしかないかも
60
(1): 2017/04/21(金)14:10 ID:P/4d/uOg(2/2) AAS
鬼車や鬼雲使わず独自実装なんだね。シェアウェアだからかな
非包含か先読みを使えなきゃ実質無理だと思う
^\+0900$ の方をどうにかする運用を考えた方が良い
Beckyの公式のメーリングリストや掲示板で正規表現じゃなく具体的にやりたい事を質問してみたら?
上手い運用方法を思い付いてくれる人が居るかも
61: 2017/04/21(金)16:15 ID:hNfgTF//(1) AAS
GPLならいざ知らずPCREや鬼車, 鬼雲もBSDライセンスだからなぁ
誰か外部の高機能正規表現ライブラリを利用するプラグインとか作ってそうだけど
62
(1): 2017/04/22(土)00:09 ID:R9IUk1ak(1) AAS
>>57
if ≠"+0900" みたいなやり方が1番簡単だけど正規表現だと面倒

≠ や = にまで拡張した正規表現があればいいんだ
63
(1): 56 2017/04/22(土)01:50 ID:IwPPNWuo(1) AAS
>>56分かる方いたら教えてください
よろしくお願いします
64
(1): 2017/04/22(土)04:17 ID:T741eTMO(1) AAS
ほらよ。使い物になるかは知らんが示された対象データにおいては要件を満たす
^(.{,4}|-0900|.{6,})$

量指定子の{}が使えないなら
^(.|..|...|....|-0900|......)$

Beckyの仕様が一般的なPerlの正規表現とは違うならここで聞いても分かるやつ少ないだろうし
後出しする必要が出たらBeckyの方で聞いた方がいいぞ
65
(1): 2017/04/22(土)17:13 ID:1zuuifbC(1/2) AAS
>>63
+0900のみのデータなんて普通は無いよね
こういうのはJSTとかの時刻の後ろにつくもんじゃないの?
何がしたいのかよく解からないんだが?

フィルタで使うんなら、〜が「ある時」「ない時」と選択できるようだから、
「ない時」にチェックすれば君の要件どうりなら、指定は^+0900$でよいことになる(+0900のみがない時ということになるけど)

だけど、上で疑問視したように+0900の前に時刻があるならマッチしなくなるよ
66: 2017/04/22(土)17:16 ID:1zuuifbC(2/2) AAS
+のエスケープし忘れた(仕様にエスケープはあるよね?)
67: 56 ◆mUjtBupG2M 2017/04/22(土)21:58 ID:UjWxDTr1(1) AAS
レスくださったみなさんありがとうございます
>>58>>60
使えませんでした
>>59
そうなんです、基本的なものしかないのでどうすればいいのか分からず
>>62
ですね
>>64
使い物にならん!
>>65
省4
68
(1): 2017/04/23(日)02:31 ID:hK6ntaQJ(1) AAS
Beckyって基本的なものとはいえ正規表現使えるのか、いいなぁ
会社で強制使用のOutlookなんか and or しかない上に
検索語を入力中に変なところで勝手にor区切りするわフォーカス外れるわでもうムチャクチャ
仕事で何年も前のメール探すのに絞り込めなくて、最終的には数百通人間grep状態しょっちゅう…
69: 2017/04/23(日)05:21 ID:DzF9wMLj(1/4) AAS
^(\+|-|-0900)(.?|..|...|([1-9].|.[0-8])..|..([1-9].|.[1-9])|.....+)$
70: 2017/04/23(日)05:33 ID:DzF9wMLj(2/4) AAS
^(.|-0900)(.?|..|...|(([1-9]|\D).|.([0-8]|\D))..|..(([1-9]|\D).|.([1-9]|\D))|.....+)$
71: 2017/04/23(日)05:44 ID:DzF9wMLj(3/4) AAS
^(.|-0900)(.?|..|...|([^0].|.[^9])..|..([^0].|.[^0])|.....+)$
72
(1): 2017/04/23(日)05:52 ID:DzF9wMLj(4/4) AAS
^(-0900|.(.?|..|...|([^0].|.[^9])..|..([^0].|.[^0])|.....+))$
73
(4): 2017/04/23(日)07:11 ID:2K1Rl01+(1) AAS
^[^+]*$|\+(|0*[0-9]|0*[1-9][0-9]|[1-9][0-9][0-9]|0([1-7][0-9][0-9]|8[0-9][0-9])|0(90[1-9]|9[1-9][0-9])|[1-9][0-9][0-9][0-9]|[0-9][0-9][0-9][0-9][0-9]+)([^0-9]|$)

●入力と結果(✓一致 ❌不一致)
✓ Sat May 24 08:05:44 2014
✓ Tue Mar 28 06:21:47 2017 +
✓ Tue, 26 Jul 2016 23:55:46 -0
✓ Wed, 05 Oct 2016 15:24:09 -0900
✓ Wed, 4 Mar 2015 08:39:08 +09000
✓ Fri, 30 Oct 2015 07:56:41 +00900
✓ Wed, 4 Mar 2015 08:39:08 0900
❌ Wed, 25 Mar 2009 14:18:41 +0900
省2
74: 2017/04/23(日)14:27 ID:fsvPYIZO(1) AAS
>>68
wanderlust使ってて十分だがmaildirでファイル保存してるのでなんでもありだ
75: 56 ◆mUjtBupG2M 2017/04/23(日)22:57 ID:/2AcrhSu(1) AAS
>>72
質問に忠実な正規表現ありがとうございました

>>73
きゃー素敵!と冗談はさておき
まさに望んでいたものでした、本当にどうもありがとうございました!
76
(2): 2017/04/28(金)19:19 ID:VBxbz7un(1/2) AAS
正規表現を勉強し始めた者です
>>73の正規表現について2つ質問させて下さい

展開すると以下のようになりますよね
^[^+]*$   「+」が無い行に一致。残りは「+」が在る行
(
「+」に数字が続く場合の0〜3桁とその先頭に0が続くパターン ※Q1
\+
\+0*[0-9]
\+0*[1-9][0-9]   [1-9]なのは0*0[0-9]は0*[0-9]に含まれているから
\+[1-9][0-9][0-9]  3桁目で0*とすると0900にマッチしてしまう
省17
77
(1): 76 2017/04/28(金)19:24 ID:VBxbz7un(2/2) AAS
Q2
\+0[1-7][0-9][0-9]
\+08[0-9][0-9]
[1-7]なのは00の場合1〜3桁の式と被るから1からなのだと思うのですが
この2つは合わせて \+0[1-8][0-9][0-9] としてはダメなのでしょうか?

「0900以外」の4桁の数字のパターンは以下のようになるかと思います
[1-9][0-9][0-9][0-9]  0xxx
[0-9][0-8][0-9][0-9]  x9xx
[0-9][0-9][1-9][0-9]  xx0x
[0-9][0-9][0-9][1-9]  xxx0
省14
78
(1): 2017/04/29(土)18:45 ID:0PD6E3oz(1) AAS
>>76-77
どちらも深い意味はないよ
行き当たりばったりで何とかテストに通るようにしただけだから

> 3桁までの表現に0*としてるのはなぜなのでしょうか?

コメント付けてくれた通りまさしく「0〜3桁とその先頭に0が続くパターン」
という順序で考えてたから結果的にそうなったのだと思う
まず0から999に一致するパターンを書いて、それに 0 が先行する場合 0* を足して
でも 0900 には一致しないように… とかそんな感じ

> この2つは合わせて \+0[1-8][0-9][0-9] としてはダメなのでしょうか?

ダメじゃない
省6
79: 2017/04/30(日)00:11 ID:PxU3UZJt(1/3) AAS
>>78
回答ありがとうございます
つい先日覚え始めた身ながらも>>73さんの式に感銘を受け是非とも理解したく思い
分からない事だらけの中、自分であれこれ分解したり試したりしていたのですが
疑問に思った点を自力で晴らす事が出来ず質問させて頂きました
未熟故に不理解な部分があるのではないかと思っておりましたが
「どちらも深い意味はない」との事で少々肩透かしでしたが安心しました
無知故に身構え過ぎていたようです
作成の経緯や方法まで丁寧に説明して頂きありがとうございました
今後の参考にさせて頂きます。感謝!
80
(3): 2017/04/30(日)03:04 ID:sTLetcQY(1) AAS
慇懃無礼でうぜえ
81: 2017/04/30(日)04:34 ID:smayr5dM(1) AAS
>>80
確かに邪魔だけど、おこるほどじゃない
82: 2017/04/30(日)07:25 ID:PxU3UZJt(2/3) AAS
>>80
それも少し思ったんだが重箱の隅をつついてると受け取られ答えてもらえないんじゃないかとか色々悩んだ末 出来るだけ丁寧にとこうなった
もし次があったら気を付ける。すまんかったな
83
(1): 2017/04/30(日)07:50 ID:BxxkE9Fv(1) AAS
丁寧な方がいいに決まってる
>>80はバカだから長文がウザいことに気付かず
丁寧語がウザいと的外れな指摘をしている。
84
(1): 2017/04/30(日)08:21 ID:PxU3UZJt(3/3) AAS
>>83
自分を非難している相手を擁護するのは変な感じだが
バカかどうかはあの一文からは分からないでしょ
それに自分も慇懃無礼にあたらないかとは危惧していたし的外れとは言えないと思う
何でも度が過ぎるのは良くない
だが齟齬を生じさせないようにする為にはこういったスレで長文になるのは仕方なくないか?
身の丈に合わない質問して「この解釈で合ってる?」みたいな聞き方した自分にも非があるとは思うが
バカ丁寧禁止より長文禁止の方が厳しいと思うわ
85: 2017/04/30(日)09:47 ID:Dc5Ny+RF(1) AAS
正規表現で数字は、[0-9] または、\d

[0-9][0-9] なら、\d{2} と同じ
86: 2017/04/30(日)12:18 ID:VPr4LyhY(1) AAS
丁寧なことが必ずしも良いとは限らない
質問するときは相手のことも考えて無駄を省くことが大事
質問を整理している間に自分で気付くこともある
87: 2017/04/30(日)15:52 ID:3TcYedTF(1) AAS
>>84
>バカ丁寧禁止より長文禁止の方が厳しいと思うわ
読む側は馬鹿丁寧な長文=好感が持てる、長文でも許せる
丁寧でないけど長文=丁寧でない癖に長文だとぉ〜?!許せん
ってなる
88: 2017/04/30(日)20:35 ID:IjVGB2EF(1) AAS
お前ら仲良くしろ
89: 2017/05/01(月)09:32 ID:lsW6qson(1) AAS
長文NGしてれば見なくて済むのにわざわざ見てウゼェ言ってる奴って
マゾなの?やり方分かんないバカなの?ウゼェ言ってる俺カッケーな池沼?
90: 2017/05/01(月)11:29 ID:hzoMRY/L(1) AAS
3行でまとめろ
91: 2017/05/01(月)18:42 ID:Ypd7EE7u(1) AAS
ダ・ヴィンチ曰く「単純であることは究極の洗練だ」
今回の例にどれほど当てはまるかはわからんが、目指すのはそこだ。
92
(1): 2017/05/03(水)15:46 ID:/wkwyrKC(1/3) AAS
検索置換を教えて下さい。
行末の半角数字(桁数はまちまち)を行頭に移動したいです。
──────────────
■置換前■

abc1
東44
4-123
あいうえお02
──────────────
■置換後■
省6
93
(1): 2017/05/03(水)16:08 ID:KtRh/Jcn(1) AAS
>>92
gpadやサクラエディタは知らんけどJSならこんな感じ

replace(/(.*?)([0-9]*)¥n/g, "$2$1¥n")

最後の行にも改行がある前提
なければ入力の最後を示す$をOR条件として指定する
94
(1): 2017/05/03(水)17:09 ID:/wkwyrKC(2/3) AAS
>>93
ありがとうございます。レスをいただき申し訳ないのですが、
最初に書いているようにテキストエディタでできる検索置換を教えて頂きたいのです。
95
(1): 2017/05/03(水)17:53 ID:tt/7nJiL(1) AAS
>>94
gpad の[検索]-[置換]で
検索文字列 ^(.*\D)(\d+)
置換文字列 $2$1
とかかな
96: 2017/05/03(水)18:09 ID:/wkwyrKC(3/3) AAS
>>95
すごいできます!即レスありがとうございました!感謝です!
97
(1): 2017/05/04(木)02:53 ID:P+e+GY0n(1/2) AAS
●Regular Expressionの使用環境
Bash on Ubuntu on Windows での sed

●検索か置換か?
置換

●説明
[ と ] で括られた最初の文言以外を削除したい

●対象データ
aaa[bbb]ccc
[ddd]eee
fff[ggg]hhh[iii]jjj
省13
98
(1): 2017/05/04(木)03:21 ID:1Mi5Sic1(1) AAS
>>97
s/\].*\|.*\[//g
99
(1): 2017/05/04(木)03:22 ID:7TNYL3q7(1) AAS
cat test.txt | sed -E 's/[^\[]*(\[[^\[]*\]).*/\1/g'

sedはnon-greedyサポートしてないので[^\[]*で
"["以外の文字にマッチするように指定する
100: 2017/05/04(木)10:29 ID:P+e+GY0n(2/2) AAS
>>98
cat hoge.txt | sed -e 's/\].*\|.*\[//g'
これだと3行目が2つ目の [ ] のを拾ってしまった。

bbb
ddd
iii
kkk

>>99
cat hoge.txt | sed -E 's/[^\[]*(\[[^\[]*\]).*/\1/g'

[bbb]
省5
101
(3): 2017/05/05(金)08:29 ID:bm+deAdf(1) AAS
「Regular Expression」ってことは
RegularじゃないExpressionもあるのかな?
102: 2017/05/05(金)11:21 ID:Ll1Ek2oh(1) AAS
>>101
外部リンク:www.google.co.jp
103: 2017/05/05(金)13:41 ID:Xc50Qjgk(1) AAS
>「irregular expression」に関連するキーワード

>保守速報

ワロタ
104
(1): 2017/05/07(日)03:23 ID:bf3ZF7DF(1) AAS
>>101
正規表現で表される集合の標本それぞれが正規でない表現じゃないの
105: 2017/05/07(日)07:31 ID:fOF53fEF(1) AAS
そもそも誤訳だし
106: 101 2017/05/07(日)16:34 ID:fwX9OlSY(1) AAS
>>104
なるほどおおおおぉぉぉ!!!
合点がいきまくりんぐです。ありがとうございます!
107: 2017/05/13(土)23:19 ID:4xoUv3bU(1) AAS
書き込めない?
108
(1): 2017/05/14(日)17:21 ID:IUk17Lsy(1/2) AAS
●Regular Expressionの使用環境
サクラエディタ

●検索か置換か?
検索

●説明
「ABC」の英大文字と小文字を区別せずに検索したいのですが
書き方はあるのでしょうか?
今は『abc|Abc|ABC』という正規表現を使っていますが
書くのがめんどうだし、aBcやabCにもヒットさせたいので
もっと簡潔な書き方があれば教えて下さい。
109
(1): 2017/05/14(日)18:29 ID:YzpdvDlp(1) AAS
>>108
(?i:ABC)
で行けるんではなかろうか
110
(1): 2017/05/14(日)18:30 ID:qjlEaygK(1) AAS
そのものズバリのチェックボックスがあるのに釣りかメクラか
111
(6): 2017/05/14(日)20:19 ID:IUk17Lsy(2/2) AAS
>>110
すみません、実はJaneStyleなど複数の環境で正規表現を使っていて、一番よく使うサクラエディタを例に出してしまいました。
確かにサクラエディタだと「英大文字と小文字を区別する」ってチェックがありますよね・・・

>>109
ありがとうございます!バッチリいけました。 ><
112
(2): 2017/05/27(土)19:51 ID:gdXMy//z(1) AAS
●Regular Expressionの使用環境
テキストエディタMeryでの強調文字列指定について質問です
外部リンク:www.haijin-boys.com
Onigmo (Oniguruma-mod) (regular expression library) 5.15.0
外部リンク:github.com

●検索か置換か?
検索?

●対象データ
"D:\PATH\HOGE",1,307,,0,"15/01/01 00:00:00","12/12/31 00:00:00",1,1,,,,"著者X",,,,,"タイトルA",,,2,,,,,1,1101,1101
"D:\PATH\FUGA",,,,,,"15/02/01 00:00:00",1,1,,,,,,,,,"名前B",4,,0
省14
113
(1): 2017/05/28(日)06:04 ID:PkY5eGnw(1) AAS
"[^"]*"(?=[^"]*$)
(?<=")[^"]*(?="[^"]*$)
114: 112 2017/05/28(日)07:52 ID:5aByZaI0(1/2) AAS
>>113
両方のパターンを教えていただきまして、ありがとうございます

"フォルダパス" の "[A-Z]:\\.+?" と "年/月/日 時:分:秒 "の "../.+?"
タイトルフィールドだけは全/半スペースで字下げして "[  ]+.+?" というパターンまでは作れましたが
字下げなしで強調表示できるようになり、一層見分けやすく、編集しやすくなりました

なぜこれらが最後の "タイトル" 部分にマッチするのか、まだ理解できてはいないのですが
読み解けるように頑張ってみます
115: 112 2017/05/28(日)11:31 ID:5aByZaI0(2/2) AAS
先読みと後読みの使い方をなんとなく理解できるようになったかも?という感じで、自分で同じ表現をすぐに導き出せるかとなるとまだまだ難しそうです

調子にのって後読みで12番目のカンマの後ろの "著者" にマッチさせようとやってみましたが、繰り返し表現をふくむ後読みはダメだとか…
^".+?"([^,]*,){12}".+?" で「行頭から"著者"まで」はできても ^(?<=".+?"([^,]*,){12})".+?" では機能しないんですね
あれこれ弄り回して "タイトル" からカンマ5つ戻るかたちで先読みにして "[^"]*"(?=(,[^,]*){5}"[^"]*"(?=[^"]*$)) にしたら "著者" に
同様に {4} で "出版社" にマッチしました

おかげさまで色々と勉強になり、あらためてありがとうございました
116
(1): 2017/05/28(日)12:13 ID:IsUf2Pl+(1) AAS
こんな古代呪文みたいなの、実際に仕事とかで使ってないとなかなか覚えないし
覚えてもすぐ忘れてしまうよなw
全てのパターンを記憶して空で完全詠唱できる人なんているんだろうか?
117: 2017/05/28(日)13:15 ID:QUomuFPF(1) AAS
暗唱できる必要性があるのか?
使うときにそういうのがあったなあって思う出すだけでいいだろ
あとは詳細を見て使えばいいだけ
118
(1): 2017/05/28(日)13:26 ID:35oU3ReV(1) AAS
仕事じゃなく趣味で覚えたけど
間違いなく覚えた方が便利

どっかに正規表現化してるだけでお金貰える仕事ないかな
119: 2017/05/28(日)15:27 ID:dHcH/mRb(1) AAS
>>116
わたしレベルになると詠唱破棄すら可能w
120: 2017/05/28(日)16:06 ID:MqtJ47ff(1) AAS
言語環境ごとに使える使えない、エスケープ必要不必要を間違えたりする
サポートしてない環境の多い先読みとかは他の手段使っちゃったりするからなかなか使いこなせない
121: 2017/05/28(日)16:10 ID:W53JMrzP(1) AAS
$1 と \1 を間違えて泣きをみて以来、むしろ記憶しないようにしている……・
122: 2017/05/28(日)16:18 ID:mQ0E20+1(1) AAS
perlから初めるとカタワになるな
123: 2017/05/29(月)08:14 ID:XV2pt9yI(1) AAS
えっ!?
1-
あと 879 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.027s