Regular Expression(正規表現) Part16at TECH
Regular Expression(正規表現) Part16 - 暇つぶし2ch200:デフォルトの名無しさん
22/02/11 15:47:22.25 XbmfRAz/.net
>>194
ドットいらない

201:デフォルトの名無しさん
22/02/11 15:50:16.57 iG9n81+f.net
"\w:[^"]++"

202:デフォルトの名無しさん
22/02/11 17:26:42.82 wiPjvtyL.net
>>196
有難うございます
上手く行きました
最短マッチも勉強します

203:デフォルトの名無しさん
22/02/11 18:08:03.21 yV5vo0tT.net
>>197
java以外では最長と強欲の挙動って一緒なのかな?

204:デフォルトの名無しさん
22/02/11 18:24:50.25 FMt4h3Z+.net
>>199
一緒だったらわざわざ別表記を作らないよ

205:デフォルトの名無しさん
22/02/24 15:01:33.70 hcs+VfLS.net
●Regular Expressionの使用環境
サクラエディタ
●検索か置換か?
検索
●説明
指定した文字列を含む行と、それ以降の行を削除したいです
↓文字列がDの場合の例
●対象データ
ABCA
BCDAA
CABDA
●希望する結果
ABCA
行をまたぐので可能かはわかりませんが
よろしくお願いします

206:デフォルトの名無しさん
22/02/24 15:56:44.82 aUuEQTy2.net
置換では?

207:デフォルトの名無しさん
22/02/24 16:21:25.53 XVFOP1rX.net
ヘルプに書いてるでしょ
URLリンク(sakura-editor.github.io)
> (mオプションが付いていますが、改行をまたいだ検索はできません。)
可能にする方法はあるようだが今も使えるのかは知らない
URLリンク(sakura.qp.land.to)
素直に複数行検索置換出来るツールやエディタ使った方が良い

208:デフォルトの名無しさん
22/02/24 16:39:23.62 hcs+VfLS.net
>>203
失礼しました
これまでたまの置換えでしか使わなかったのでヘルプ読んでませんでした
また、別な無料のエディタで可能な正規表現があれば
セットで教えていただきたいです
ありがとうございました!

209:デフォルトの名無しさん
22/02/24 16:57:42.07 XVFOP1rX.net
Mery
^(?=.*D)(.*\n)++

210:デフォルトの名無しさん
22/02/24 18:04:56.22 hcs+VfLS.net
>>205
希望通りにできました。エディタまで教えていただき本当にありがとうございます!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

211:デフォルトの名無しさん
22/03/05 11:04:51.46 UMjr+RM8.net
URLリンク(github.com)

212:デフォルトの名無しさん
22/03/05 13:30:05.01 ST2bI6pB.net
よろしくおねがいします。

●Regular Expressionの使用環境
auto hot key
●検索か置換か?
置換
●説明
日本語URLを除去したい
%..* で一致するがPCRE書式化(AHK文法?)が解らず。。。

●対象データ
%00%00%00%00%00%00
00は数字2桁

213:デフォルトの名無しさん
22/03/05 14:39:44.43 CfflkLyE.net
(%\d\d)++

214:デフォルトの名無しさん
22/03/05 15:55:58.31 ST2bI6pB.net
>>209
早速ありがとうございます!
wiki記載の意味がやっと理解できました。
下記エラーになりました。
すいません対象データ誤りで英数字2桁のため\w\wにしてもだめでした。
Line Text: \d\d
Error: The leftmost character above is illegal in an expression.
※\w\wも同じ。

構文的には正しいようです。
URLリンク(i.imgur.com)

215:デフォルトの名無しさん
22/03/05 15:58:19.76 auOTeG9V.net
あれ、\dでいいの?文字コードだから16進じゃない?

216:デフォルトの名無しさん
22/03/05 16:23:02.27 vjAKKjP5.net
(?:%[:xdigit:]{2})+
では?

217:デフォルトの名無しさん
22/03/05 16:33:42.80 vjAKKjP5.net
(?:%[[:xdigit:]]{2})+
だった

218:デフォルトの名無しさん
22/03/05 18:13:24.65 ST2bI6pB.net
>>213
ありがとうございます上手くいきました!
何でそうなるのか.. wikiにらめっこしてみます。
が、正規表現テストツール上では上手くマッチしますが、MsgBoxで出力すると #_=_ がくっついてきます。スレチならすいません。
>>211
URLエンコードって16進数だったんですね。

219:デフォルトの名無しさん
22/03/06 00:13:11.29 6dwIIS19.net
wikiってどこのこと?

220:デフォルトの名無しさん
22/03/06 16:28:44.42 ez4sjEWa.net
>>215
URLリンク(sites.google.com)

221:デフォルトの名無しさん
22/03/13 17:17:27.89 dODqeNlh.net
URLリンク(github.com)

222:デフォルトの名無しさん
22/03/19 23:41:27.62 ur7rhOwp.net
URLリンク(www.kt.rim.or.jp)
>某巨大掲示板のとあるスレッドの情報によれば、 非包含オペレーターが
>期待通りに動かないパターンがあるようです。
おぬし、さてはここを見ておるな?                azure
>>217
故意にこれが出来るならSEO対策としてライバル企業をやっつけられるな
企業間でそんな話が出てないということは出来ないということではないだろうか

223:デフォルトの名無しさん
22/03/20 07:35:08.60 AfbYOGC9.net
●Regular Expressionの使用環境
サクラエディタ
●検索か置換か?
置換
●説明
ある文字列Aを含む行のうち、ある文字列Bを含まない行を
すべて削除したいです
●対象データ(文字列Aを含む行のうち、Bを含まない行を削除。囲み数字はデータではなく単なる通し番号で入れています)
①ABCA
②FCAA
③CABA
④DBBC
⑤AFFC
⑥BABF
⑦FDFC
●希望する結果(Aが有って、Bが無い②⑤行を削除しました)
①ABCA
③CABA
④DBBC
⑥BABF
⑦FDFC
よろしくお願いいたします。

224:デフォルトの名無しさん
22/03/20 07:55:09.42 UyeAjpj2.net
^(?=.*A)(?!.*B)[\s\S]*

225:デフォルトの名無しさん
22/03/20 08:51:18.12 AfbYOGC9.net
>>220
いつも素早い回答をありがとうございます!うまくいきました!誠に感謝です。ありがとうございました!

226:デフォルトの名無しさん
22/03/20 19:15:12.05 ZHfPfLkc.net
>>221
219より一つ前にあなたがした質問はどれ?

227:デフォルトの名無しさん
22/03/22 18:15:19.98 CHL1FHKG.net
>>222
お返事が遅くなりすみません。このスレでは201のみです。
また今後もよろしくお願いします!

228:デフォルトの名無しさん
22/04/05 13:22:00.18 jmydyZMd.net
非包含オペレータのバグの詳細
URLリンク(github.com)

229:デフォルトの名無しさん
22/04/09 11:11:19.33 RvdBAddV.net
●正規表現環境: VS Code
●検索か置換か: 置換
●対象データ:24時間表記の時間
●説明:
24時間表記を12時間表記にしたい。
●例:
23:59:30 → 11:59:30
正規表現で可能ですか?

230:デフォルトの名無しさん
22/04/09 12:41:52.96 CVydPDGM.net
>>225
無理じゃね?
簡単なスクリプトを書いたほうが早い

231:デフォルトの名無しさん
22/04/09 12:49:55.79 FmMbp+0V.net
13:→1:
14:→2:

24:→12:
分と秒は正規表現でキャプチャ
みたいに高々12回置換すればええやん?
そういう意味じゃないんか

232:デフォルトの名無しさん
22/04/09 12:59:17.52 OC1bdbLm.net
愚直に12回置換すれば出来る
12(?=(?::[0-5]\d){2})
00
13(?=(?::[0-5]\d){2})
01

23(?=:[0-5]\d:(?:[0-5]\d|60))
11

233:デフォルトの名無しさん
22/04/09 14:50:47.61 CVydPDGM.net
a.m.やp.m.の情報は消えても大丈夫なのかな?

234:デフォルトの名無しさん
22/04/09 14:56:25.02 RvdBAddV.net
amやpmは無くてもokです

235:デフォルトの名無しさん
22/04/13 22:16:00.64 pxLJgBKP.net
URLリンク(github.com)

236:デフォルトの名無しさん
22/04/15 16:20:16.62 M7wVtHzF.net
Apacheのmod_rewrite(Perl互換)でルート直下の特定のディレクトリとその配下のみリダイレクトしない条件にヒットする正規表現を探しています
①/.well-known
②/.well-known/
③/.well-known/ランダムな文字列
この3つにヒットしてくれればいいのですが
・ルート直下なので行頭指定
・スラッシュのない方の.well-knownは行末を指定(完全一致)
・スラッシュのある方の.well-known/は配下のディレクトリへのアクセスも想定して行末を指定しない(前方一致)
を一行に収めようと考えた結果
^/\.well-known(/|$)
が思い浮かんだので使ってみたらなんとなく動いてるんですが
メタ文字の|って比較対象が行末の$だけでも機能するものなのでしょうか
完全一致+前方一致の書き方のお作法みたいなのがあればだれか教えてください…

237:デフォルトの名無しさん
22/04/15 21:37:03.46 GEApyL4S.net
それでOK。 ケチを付けるなら (?:/|$) にすれば無駄なキャプチャを防げる。
先読みを理解してるなら (?=/|$) でもOK。

238:デフォルトの名無しさん
22/04/16 06:02:27.62 mQZGE0o5.net
正規表現を使ってモンスターを討伐していくゲーム「Regex Hunting」をプレイしてみた - GIGAZINE
URLリンク(gigazine.net)

239:デフォルトの名無しさん
22/04/16 07:11:08.64 9DJ1ctMv.net
>>233
ありがとうございます
今は(?:/|$)にして先読みも勉強してみます

240:デフォルトの名無しさん
22/04/20 03:44:08.18 KwUP8MZL.net
正規表現道場スレに書きましたが過疎スレだったようでこちらで質問させていただきます
スマホのブラウザ(Berry browser)での検索結果にでたYouTubeのリンクを
NEWPIPEで開くようにする正規表現をおしえていただけませんか?
詳しく言語はなにかわかりません

241:デフォルトの名無しさん
22/04/20 03:46:48.26 hF4awL06.net
>>236
あっちで見せたスクショも見せてあげて

242:デフォルトの名無しさん
22/04/20 04:01:59.26 KwUP8MZL.net
URLリンク(i.imgur.com)

243:デフォルトの名無しさん
22/04/20 07:25:55.71 YedSEyAo.net
>>236
お前NewPipeスレでスレチだ言われても居座って、最後移動する時にすら謝罪もせずに投げっ放しじゃん
もう少しネットマナー守りなよ

244:デフォルトの名無しさん
22/04/20 13:23:33.24 0zdB9CsP.net
>>239
粘着警察

245:デフォルトの名無しさん
22/04/20 13:29:26.67 U0AnfaoX.net
.*YouTube.*

246:デフォルトの名無しさん
22/04/24 11:37:18.90 HhXo0urf.net
●Regular Expressionの使用環境
秀丸エディタ
●検索か置換か?
検索
●説明
台詞の行の後は1行改行を置いて、また台詞の行になるように整形したいです
もしも「からはじまる行が2行連続している場合、そこにヒットするような検索方法があるなら、
何卒、ご教示の程よろしくお願いいたします。
●対象データ
「ダミーテキストAダミーテキストAダミーテキストA」
「ダミーテキストBダミーテキストBダミーテキストB」
「ダミーテキストCダミーテキストCダミーテキストC」
「ダミーテキストDダミーテキストDダミーテキストD」
●希望する結果
「ダミーテキストAダミーテキストAダミーテキストA」
「ダミーテキストBダミーテキストBダミーテキストB」
「ダミーテキストCダミーテキストCダミーテキストC」
「ダミーテキストDダミーテキストDダミーテキストD」

247:デフォルトの名無しさん
22/04/24 13:45:54.53 rcB2xidb.net
>>242
\n+ を \n\n に置換すればいいんじゃね?

248:デフォルトの名無しさん
22/04/24 14:27:40.33 +3jFx4NA.net
したい事が検索と書いてあるのに、整形したいですってどういう事?
整形したいって事は置換なの?

249:デフォルトの名無しさん
22/04/24 15:00:10.62 K7LKRW48.net
整形したい!痴漢なんです
イケメンならこんな事しなくて済みます

250:デフォルトの名無しさん
22/04/24 15:27:14.57 HHIBSCEK.net
>>242
」¥n「 → 」¥n¥n「
とか
(.)¥n「 → $1¥n¥n「
とか

251:デフォルトの名無しさん
22/04/24 15:30:33.03 ioskjRP6.net
> 検索と書いてあるのに、整形したいですってどういう事?
秀丸から察しろよw
池沼でしょ
」\n「
」\n\n「

252:デフォルトの名無しさん
22/05/01 14:50:51.02 GoET9IZ/.net
CSVファイルのセパレータ以外にマッチさせる正規表現が分かればご教示ください
ダブルクォートの中のカンマはセパレータではないという条件が難しく難儀しています

253:デフォルトの名無しさん
22/05/01 15:35:29.51 Rd1MW222.net
>>248
csv 正規表現 でググれ

254:デフォルトの名無しさん
22/05/02 15:41:45.47 3wkltjCW.net
>>2のテンプレで環境や対象データ、希望結果のサンプルを書いてよ

255:デフォルトの名無しさん
22/05/03 04:52:31 UnZpzFGu.net
"あ,い
う'え""お"

これでも、1列しかない。
最初・最後のダブルクォーテーションで、1つの列内・要素を表す

その要素内では、カンマ・改行・シングルクォーテーション・ダブルクォーテーションも使える。
ただし、ダブルクォーテーションは2つ連続させて、1つのダブルクォーテーションと解釈される

だから、このダブルクォーテーションの規則が難しい。
例えば、ダブルクォーテーションに番号を振ると、1-23-45-6

連続したダブルクォーテーションを排除して、1-6 の形で、1つの要素を表す。
つまり、最後のダブルクォーテーションは偶数番目になる

もし、奇数番目で終わっていたら、形式エラー

256:デフォルトの名無しさん
22/05/03 12:12:48.00 aiGUnYt7.net
("[^"]*")+|[^,"\r\n]+|(?<=,)|^(?=,)
URLリンク(regex101.com)

257:デフォルトの名無しさん
22/05/03 14:14:16.35 t3Dpq+T6.net
(?=,|$)

258:デフォルトの名無しさん
22/05/13 22:38:19.25 8kGCIaIA.net
●Regular Expressionの使用環境
サクラエディタ
●検索か置換か?
置き換え
●説明
タブ区切りcsvファイルの列の順番を入れ替えたい
●対象データ
1\t2\t3\t・・・\t30
※実際は各フィールドは数字だけではなく、長さも一定ではありません。
フィールド数は30で固定です。
●希望する結果・・を出すために、
^(.*?\t)(.*?\t)・・・(.*)
$3,$8,$1・・・
のように書いて、一旦用は足りましたが
これをもっとスマートに書く方法はありますでしょうか。
よろしくお願いいたします。

259:デフォルトの名無しさん
22/05/14 01:45:41 rmaMAnUs.net
$30を別の場所に持ってくると右隣りとくっついてしまうな

260:デフォルトの名無しさん
22/05/14 05:36:59.01 NJOQ17Ts.net
テンプレ使っているようでテンプレ無視して実例挙げず
タブ区切りのはずが何故かカンマ+タブの区切りになっているがその説明も無し

261:デフォルトの名無しさん
22/05/14 08:03:49.09 qR2dE/b7.net
本当に タブ+カンマ にしたいとしても俺なら
^(.*?)\t(.*?)\t・・・(.*)$
$3\t,$8\t,$1\t・・・
って書くかな

262:デフォルトの名無しさん
22/05/14 09:56:07.44 /Fl6kBO1.net
俺が作るなら [^\t]* を使って誤爆の可能性を潰しておく
列が31以上ある異常データのときに置換しなくする

263:デフォルトの名無しさん
22/05/14 10:21:31.73 bJIgpLv6.net
処理対象ファイルが数十個あるとかなら別だけど、表計算ソフトや対応エディタでサクっと入れ替えた方が早そう

264:デフォルトの名無しさん
22/05/14 11:56:38.01 /Fl6kBO1.net
そういやそうだね、csvなんだしw
>>256
テンプレ自体が糞質問製造機になってるからテンプレいらね
俺は今回の質問に不備はないと思っている

265:デフォルトの名無しさん
22/05/16 18:46:22.01 nBhW9usr.net
探している正規表現の学習サイトがあります。
ネットスラング、小説などの蘊蓄を題材にした問題が置いてあるサイトです。
AAが問題の解説を行なっていた記憶があります
UIはシンプルながら、メタ文字から始まり、後方参照などの発展的な部分、総括したチャレンジ問題など結構ボリュームがある問題集でした。
久しぶりに見にいきたかったのですが、どうにも見つからず、
どなたかご存知でしたら教えていただけると幸いです。
よろしくお願いします。

266:デフォルトの名無しさん
22/05/24 04:21:55.25 SL15aOsO.net
質問させてください。
荒らし対策に「読点2回」を指定するNG表現を作ってみたのですが、一応機能しました
(.*\、.*\n*){2}
上記はもっと簡略化できるでしょうか?

267:デフォルトの名無しさん
22/05/24 04:27:32.12 7Wh7VSQ0.net
、.*?、

268:デフォルトの名無しさん
22/05/24 04:43:45.06 SL15aOsO.net
>>263
即答ありがとうございます
(10文字以上、){2}
のように「10文字以上、」が2回以上あったらNGというプログラムも教えてくれますか?

269:デフォルトの名無しさん
22/05/24 05:20:15.74 SL15aOsO.net
すみません、ありがとうございました。

270:デフォルトの名無しさん
22/05/25 21:16:43.73 rVRUpzpa.net
自分が書いた正規表現を半年後くらいに見たら
何の処理なのか思い出せない。
正規表現って便利だが、そう言う点が唯一のデメリットだよな。

271:デフォルトの名無しさん
22/05/25 21:33:08.27 JiQQrvQ9.net
>>264
(10文字以上、){2,}

272:デフォルトの名無しさん
22/05/25 22:10:02.21 SBYC3EV0.net
(?#何の処理)

273:デフォルトの名無しさん
22/05/26 10:08:16.60 Nn08GFXz.net
●Regular Expressionの使用環境
PowerShell 7.2.4
●検索か置換か?
置換(-replaceもしくは[regex]::Replace)
もしくは抽出(-match)
●説明
ドメインからサブドメインを取り除いた値が欲しい
●対象データ
www.example.com
hoge.www.example.com
hoge.hoge.www.example.com
●希望する結果
example.com
example.com
example.com
お願いします

274:デフォルトの名無しさん
22/05/26 10:11:53.48 Nn08GFXz.net
>>269
すいません、これだと「example.com$でいいだろ」になりますね
バラバラなURL、つまり
●対象データ
www.example.com
hoge.www.test.com
hoge.hoge.www.foo.com
●希望する結果
example.com
test.com
foo.com
でお願いします…

275:デフォルトの名無しさん
22/05/26 10:34:55.49 6qaNDFBW.net
powershellでの書き方は分からんが
[^.]++\.com$

276:デフォルトの名無しさん
22/05/26 10:51:21.71 Ax+O2qu3.net
>>271
それで得られるの.comドメインだけじゃね

277:デフォルトの名無しさん
22/05/26 11:26:16.23 JFz3AkL/.net
(?m:((?:[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]*)\.[a-zA-Z]{2,})$)

278:デフォルトの名無しさん
22/05/26 13:28:50.78 DqYj7elt.net
[a-zA-Z0-9]
って、何かもっと短いパターンに置き換えられないのかな?

279:デフォルトの名無しさん
22/05/26 13:51:27.22 Nn08GFXz.net
>>272
ごめんなさい。私がちゃんと.com以外の例を出してませんでした。
>>273
ありがとうございます。
[regex]::Matchesの方で抽出できました。
もしよければ、今後のためにどういう意味の正規表現になってるかお教えいただけませんか
行末→$)
エスケープして.(ドット)+2文字以上の文字→\.[a-zA-Z]{2,})
までは分かるのですが、
(?:[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]*)

(?m:
がよくわかりません…

280:デフォルトの名無しさん
22/05/26 14:03:59.49 Ax+O2qu3.net
>>274
/S

281:デフォルトの名無しさん
22/05/26 14:08:45.47 gYa8SY15.net
>>274
処理系にもよるけど\dと[0-9]は同等でないこともある(漢数字にもマッチする処理系や環境がある)
[:alpha:]は使えない処理系もある
>>275
ドメイン名の制約を正規化
mは行単位処理指定(一般的には不要)

282:デフォルトの名無しさん
22/05/26 14:26:21.96 SI03/myz.net
結局太古からの文字クラスが役に立つよな

283:デフォルトの名無しさん
22/05/26 14:57:41 0Pd9G99m.net
5ch.net
2345.com

284:デフォルトの名無しさん
22/05/26 19:34:14 DerQuI+6.net
8823

285:デフォルトの名無しさん
22/06/15 16:12:07.21 D17rKkfp.net
Pythonで、下記のような仕組みを作りたいと思っています。
1 テキストを入力する。
2 あらかじめ用意してある複数の正規表現のパターンでテキストを検索し、
それぞれのパターンにマッチする部分のテキストを色分けする。
3 それぞれの色ごとに、別々の処理をする。
こう言う表示をするためのフロントエンドというか、ライブラリというか、
そう言うものはないでしょうか。
例えば、VBAなら、エクセルやWordの文字プロパティを操作すればできると思うのですが、
そう言うもののPython版というか…

286:デフォルトの名無しさん
22/06/15 17:05:28.57 GqhFDJ5g.net
>>281
スレチ

287:デフォルトの名無しさん
22/06/15 20:56:26.63 bRSTMa0S.net
こういうの不思議なんだけど、
仕組みを作りたいと思っていて、ライブラリやフレームワークすら選べてないのに、
なんで使用言語は決まってるんだろうか

288:デフォルトの名無しさん
22/06/15 21:12:53.05 74xVOU49.net
そのライブラリはlispとprologとVHDLしかありませんって言われたら困るし

289:デフォルトの名無しさん
22/06/15 21:17:39.12 bRSTMa0S.net
そしたらその言語選ぶだけじゃないかな

290:デフォルトの名無しさん
22/06/16 02:58:48.52 5RJuUFJv.net
JSで作ってブラウザ上で動かすのがよさそう

291:デフォルトの名無しさん
22/06/24 15:59:53.62 P24pDyi3.net
●Regular Expressionの使用環境
python3
●検索か置換か?
検索
●説明
START~次のSTARTの直前までをマッチングさせたい
START含む行から文字列足して行けば同じ事は出来るんですが正規表現ではどのように書くのか分からないのでお願いします
●対象データ
START 1: abcd
hoge
fuga
START 2: efgh
hoge hoge
fuga fuga
piyo piyo
●希望する結果
START 1: abcd\nhoge\nfuga

292:デフォルトの名無しさん
22/06/24 16:36:46.31 ECcLc/fl.net
>>287
START(?:(?!START)[\S\s])*

293:デフォルトの名無しさん
22/06/24 16:39:49.07 P24pDyi3.net
>>288
早速の回答ありがとうございます
希望した結果が得れました

294:デフォルトの名無しさん
22/06/24 18:26:54.64 0z9KCe6G.net
template<>引数にはclassでない定数リテラルを指定できるのでtypenameのほうが名称としてしっくりくる

295:デフォルトの名無しさん
22/06/25 08:38:53.00 hlZoB8IO.net
Onigmoの非包含オペレータのバグFixが来た
Fix absence operator #163
URLリンク(github.com)
こういうのをサラっと直してしまう人はカッコイイね、nomotoさんありがとう!

296:デフォルトの名無しさん
22/06/25 10:59:37.90 23CjKpU2.net
>>290
スレリンク(tech板:294番)-295

297:デフォルトの名無しさん
22/06/28 22:14:32.48 r8H2D3+U.net
>>291
> n("(?~|abc)", "abc") # ???
> x2("(?~abc|)", "abc", 0, 1) # ???
けんちゃん最初から気付いてるし

298:デフォルトの名無しさん
22/06/30 19:21:01 EErfRwVa.net
●Regular Expressionの使用環境
python3

●検索か置換か?
検索

●説明
ErrorもしくはwarnもしくはInfoから始まり(CODE-xxx)で終わる最短の文字列を抜き出したいんですが
(Error|Warn|info):.*?\(\w+-\d+\)のように最短マッチを使っても1番最初のErrorから最後の(CODE-xxx)までが
マッチしてしまいます

●対象データ
Error: hoge
hoge
Warn: fuga
fuga
fuga
Info: hoge
fuga fuga (CODE-003)

●希望する結果
Info: hoge\n fuga fuga (CODE-003)

299:デフォルトの名無しさん
22/06/30 19:55:03.39 5rlmwso+.net
^(?:Error|Warn|Info)(?~^Error|^Warn|^Info)\(CODE-\d++\)

300:デフォルトの名無しさん
22/06/30 20:03:45.67 VljocFtJ.net
>>294
msg_type_re = r"(?:(?:Warn|Info|Error):)"
print(re.findall(rf"{msg_type_re}(?:(?!{msg_type_re}).)*?\(CODE-\d+\)", s, flags=re.S))

301:デフォルトの名無しさん
22/06/30 20:43:19.23 WhOCvrbe.net
^(?:Error|Warn|Info):.*(?:\n\ \ .*)*?\(CODE-\d+\)
URLリンク(regex101.com)

302:デフォルトの名無しさん
22/07/01 08:10:56.97 FKzEqydA.net
秋葉原店
専門店
住所
〒101-0021 東京都千代田区外神田4丁目3-3
↑の文字列を、置換で、
「秋葉原店,東京都千代田区外神田4丁目3-3」
と成形したいです。
思うに、
検索に、「店~~~~~~東京都」
置換に、「,」
とすれば出来そうですが、
「~~~~~~」には何を入れればよいでしょうか?

303:298
22/07/01 08:20:24.06 FKzEqydA.net
ようは、
「店」と「東京都」の間にあれば、改行を含み、どんな文字列が何個はいろうが、「,」に変えたいのです。
よろしくお願いします。

304:デフォルトの名無しさん
22/07/01 08:32:58.06 fIXdHuhM.net
テンプレガン無視するな
ここはお前の為の便利屋じゃねぇよ

305:298様専用の便利屋
22/07/01 08:56:54 6Nj9t6DP.net
環境を言わない質問にはオーソドックスな正規表現で答えれば良いと思う

検索
(店)[\s\S]*(東京都)

置換
$1,$2

306:298
22/07/01 17:16:41.56 FKzEqydA.net
>>300-301
すみません。 環境はwzエディター10 64bitです。
で、
(店)[\s\S]*(東京都)
これではダメでした。

307:デフォルトの名無しさん
22/07/01 17:18:10.65 wWlIpSvA.net
意地でもテンプレは使わない

308:デフォルトの名無しさん
22/07/01 17:27:00.65 iqig0nNh.net
スルーされにくいテンプレだから
スルーされてもいいんでしょう

309:298
22/07/01 17:28:06.12 FKzEqydA.net
>>301
教えてくれてありがとうございます。
で、
wzの置換のタブを見ると、「\を文字として検索」と書いてあってそこにチェックが入っていて、そのチェックは外せません。

310:298
22/07/01 17:33:49.42 FKzEqydA.net
>>303-304
すみません。 テンプレで質問すると、↓になります。
●Regular Expressionの使用環境
wzエディター10 64bit
●検索か置換か?
置換
●対象データ
秋葉原店
専門店
住所
〒101-0021 東京都千代田区外神田4丁目3-3
●希望する結果
秋葉原店,東京都千代田区外神田4丁目3-3

311:デフォルトの名無しさん
22/07/01 17:34:03.71 C/EjaQqR.net
別のエディタなりsed使え

312:デフォルトの名無しさん
22/07/01 17:48:08.39 iqig0nNh.net
>>306
Notepad++、Meryでは以下でいけた
(.+店)[\s\S]*〒\d{3}-\d{0,4}\s(.+)$
$1,$2

313:298
22/07/01 17:51:33.51 FKzEqydA.net


314: rel="noopener noreferrer" target="_blank" class="reply_link">>>308 ありがとうございます。しかしダメでした。



315:298
22/07/01 17:53:57.09 FKzEqydA.net
しかし、
(.+店)[\s\S]*
ここまで削ると食いついてきます。

316:デフォルトの名無しさん
22/07/01 17:58:53.83 Dqsnfi22.net
複数行な時点で環境限られるよね

317:298
22/07/01 17:59:18.72 FKzEqydA.net
ちなみに、Notepad++、Meryどちらも無料ですが、インストールするとするとどちらがよいでしょうか?

318:298
22/07/01 18:08:28.54 FKzEqydA.net
ちなみに、Notepad++、Meryどちらも無料ですが、インストールするとすると正規表現的にはどちらがよいでしょうか?

319:デフォルトの名無しさん
22/07/01 18:09:36.54 C/EjaQqR.net
(?<=店)[^〒]*?〒\d{3}-\d{4}\s++
,
キャプチャする必要無くね?
対象データの例が悪い
他に何件もあって〒が無い場合があったりすると誤マッチするはず

320:298
22/07/01 18:15:22.87 FKzEqydA.net
>>314
ありがとうございます。しかし、 (?<=店) これにすら食いつきません。

321:298
22/07/01 18:58:55.44 FKzEqydA.net
Notepad++をインストールしました。
で、やりたいことは、
URLリンク(www.donki.com)
ここから、べーっとマウスでコピペして、
Notepad++に貼り付けて、店舗名,住所のcsvファイルを作りたいのです。

322:298
22/07/01 19:04:57.22 FKzEqydA.net
(?<=店)[^〒]*?〒\d{3}-\d{4}\s++
これでほぼ出来そうです。 ありがとうございます。

323:298
22/07/01 19:10:09.57 FKzEqydA.net
(?<=店)[^〒]*?〒\d{3}-\d{4}\s++
$1,$2
ちなみに、これって$1,$2という変数を使ってますよね?
(?<=店)[^〒]*?〒\d{3}-\d{4}\s++
この文のドコで代入してるのでしょうか?

324:デフォルトの名無しさん
22/07/01 19:16:15.59 TWCq9rfx.net
テンプレをヤイヤイいうだけの奴わろたわw

325:デフォルトの名無しさん
22/07/01 19:27:43.82 omlO1tMt.net
ページからならjsでやったら?って感じの話しだな
URLリンク(pastebin.com)

326:デフォルトの名無しさん
22/07/01 19:30:02.45 23LeTIBQ.net
xy問題

327:元 298様専用の便利屋
22/07/01 19:51:17.10 6Nj9t6DP.net
住所からアニメイトの同志だと思いご協力させて頂きましたがアニメイトではなくドンキだと分かったので
すみませんがこれ以上ついて行くことは出来ません・・ 短い間でしたがありがとうございました、さよなら

328:298
22/07/01 21:06:43.33 FKzEqydA.net
>>322
どうもです。 了解しました。
.+だと文字が何個あってもいいよ、です。
こういうので、
文字でも記号でも改行でも何個あってもいいよ、はないでしょうか?
あるとすれば、
店「」+住所
を、
,
に置換すればいいだけの話なんだけど。

329:デフォルトの名無しさん
22/07/01 22:01:19.33 TkUsKSE8.net
.(ピリオド)は改行コードを除く任意の1文字にマッチする
つまり.*や.+だと改行のところでストップするということ

330:デフォルトの名無しさん
22/07/01 22:28:36.91 oUsXu5GC.net
ピリオドはmオプションつけると改行にもマッチするやで
mオプションがついてるかは環境と指定したオプションによるやで

331:デフォルトの名無しさん
22/07/01 22:36:48.49 TkUsKSE8.net
mオプションじゃなくてsオプションなのでは?

332:デフォルトの名無しさん
22/07/01 22:50:04.22 oUsXu5GC.net
調べてきた
mオプションはRuby、oniguruma系、Meryはこれのはず
sオプションなのはPerl系
Notepad++/SciTEは専用オプションがある
らしい、やってみて確かめたほうがいいね

333:298
22/07/01 23:07:58.13 FKzEqydA.net
ありがとうございます。では、
店.+東京都
に、mオプションを付けるとするとどう書けばいいのですか?
↓にはそれ系の記載がありません。
URLリンク(murashun.jp)
https://


334:userweb.mnet.ne.jp/nakama/



335:デフォルトの名無しさん
22/07/01 23:25:18.67 oUsXu5GC.net
Notepad++のことならGUIのダイアログの左下の右に「.は改行と一致」てのがあるじゃろ

336:298
22/07/01 23:40:21.16 FKzEqydA.net
>>329
ありがとうございます。Notepad++で、「.は改行と一致」にチェックをいれて、
店.+東京都
,
で、次を検索でポチると、
最初の東京都ではなく、最後の東京都、つまりほぼ全文を選択してしまいます。

337:デフォルトの名無しさん
22/07/02 00:04:51.39 BdV6t7uW.net
正規表現の基本は強欲
なるべく長い文字列にマッチしようとする

338:デフォルトの名無しさん
22/07/02 09:05:29 mrmEg2+h.net
> 基本は強欲

20年このスレにいて初めて知りました

339:デフォルトの名無しさん
22/07/02 09:58:17.51 At3W7bIA.net
20年正規表現使ってて強欲すぎて困ったことないの?
※ 用語として強欲はあまりいい意味には使わないから個人的には貧欲の方がいいなぁ

340:デフォルトの名無しさん
22/07/02 10:08:22.29 N6Y3zR8M.net
ひんよく? 貧
どんよく 貪欲

341:デフォルトの名無しさん
22/07/02 10:24:47.75 ophljRqK.net
そんなとっくに概出のこと言われても困ります

342:デフォルトの名無しさん
22/07/02 12:38:50 mrmEg2+h.net
貧欲の動作は考えてみればすごく非効率な気がしますね
10万文字の文章に対して「.*」を使ったら10万文字の末尾まで食ってから戻ってきますからね

343:デフォルトの名無しさん
22/07/02 13:18:37.74 At3W7bIA.net
>>334
すまん、素で間違ってたわ... orz

344:デフォルトの名無しさん
22/07/02 15:23:26 +K04BJMF.net
*+ 強欲 ++ 最大一致させたらバックトラックしない
* 欲張り + 最大一致させた後、残りの式が不一致になったらバックトラックする
*? 無欲 +? 欲張りと逆。最小一致後にバックトラック

バックトラック
条件を満たす範囲で探索
・欲張りは1文字放棄
・無欲は1文字追加
して試行する

345:298
22/07/02 18:24:54.77 rrBNdWeF.net
てか、↓の文法的解説をできる方はこのスレにはいないのでしょうか?
(?<=店)[^〒]*?〒\d{3}-\d{4}\s++

346:デフォルトの名無しさん
22/07/02 18:51:12 +K04BJMF.net
(?<=店) 戻り読み。式(店)と次の文字の「間」の位置に一致。abcに対し(?<=ab)ならbとcの間に一致する。アンカー(^$)と同様
[^〒]*? 「〒」以外の文字に最小一致(無欲)
〒 「〒」の文字
\d{3}-\d{4} 「数字3つ」「-」「数字4つ」
\s++ 「\s」に最大一致(強欲)

347:298
22/07/02 18:58:50 rrBNdWeF.net
>>340
ありがとうございます。
$1に(?<=店)を代入しているのはなんとなく理解できるのですが、住所の$2にはどの部分で代入しているのでしょうか?

348:デフォルトの名無しさん
22/07/02 19:30:02.98 UTWJe5+B.net
[^〒]*?〒は最小量指定子使わないで、[^〒]*〒でよいのでは?
この*は0回以上の「〒以外」の文字にマッチだから、貪欲であっても貪欲でなくても、結局一番初めに出てくる「〒」手前までしかマッチできない。

349:デフォルトの名無しさん
22/07/02 19:38:03.70 UTWJe5+B.net
>>336
貪欲のほうがコストが常にかかるかというとそうじゃない。
場合によっては非貪欲のほうが大量にバックトラックが発生して計算コストかかることもある。

350:298
22/07/02 19:41:17.46 rrBNdWeF.net
てか、不思議なことに、
1、検索文字列→ (?<=店)[^〒]*?〒\d{3}-\d{4}\s++   置換文字列→ ,
2、検索文字列→ (?<=店)[^〒]*?〒\d{3}-\d{4}\s++   置換文字列→ $1,$2
で、同じ結果が出るんです

351:298
22/07/02 19:42:31.78 rrBNdWeF.net
つまり、2は文法的に間違ってる、ってことですかね?

352:298
22/07/02 19:45:54.43 rrBNdWeF.net
てか、Notepad++はカシコイから、
置換文字列→ $1,$2
を、
置換文字列→ ,
と、置き換えて処理してるんですかね?

353:デフォルトの名無しさん
22/07/02 19:46:39.19 +K04BJMF.net
面白いから見守るわw

354:デフォルトの名無しさん
22/07/02 19:57:48.35 +K04BJMF.net
>>342
一致しない場合に無駄にバックトラックさせることになるだけなので
[^〒]*+〒
と強欲で良いんじゃね

355:デフォルトの名無しさん
22/07/02 21:11:04.97 FJKEiIOc.net
>>348
確かにマッチしない場合にバックトラックの発生を抑えるために強欲にするのはありだと思う。
ただ、PCREとかだと[^〒]*〒の場合、Auto Processが動作して勝手に強欲化するから書かなくてもいいはず。
今回のEditorはしらんけど。

356:デフォルトの名無しさん
22/07/03 11:46:22.30 DiSdIFQe.net
初心者のうちは強欲は使わないほうがいい気がする
そもそも鈍器のページから店名と住所を取り出すだけの正規表現を書く場合にキャプチャしない書き方や
バックトラックを抑制する書き方をする必要はない
「策士策に溺れる」になってるから質問者に何を教えるべきなのかもう一度考えるべし

357:デフォルトの名無しさん
22/07/03 12:00:27.48 J9cIk4yD.net
貪欲禁止って*や+を使うなってことけ?

358:デフォルトの名無しさん
22/07/03 12:44:06.06 HH+h1Cia.net
possessiveのことだろ

359:デフォルトの名無しさん
22/07/03 13:50:59.22 J9cIk4yD.net
手足をもぎ取られた気分や…

360:デフォルトの名無しさん
22/07/03 14:32:42.77 nkFK6+7O.net
>>350
初心者が強欲使わないでいつ強欲の動作を知るの?
それとも初心者はみんな量指定子を持つ環境を使うべきって主張かな?

361:デフォルトの名無しさん
22/07/03 15:36:23.88 ZjFQgG61.net
> 使わないほうがいい気がする
「気がする」でついつい無駄コード書いちゃう強迫性不安障害の人かな?
> 「策士策に溺れる」になってるから質問者に何を教えるべきなのかもう一度考えるべし
底辺コーダーが良く使う言い訳
(俺に分かりやすい) 平易なやり方しか認めない!(`・ω・´)キリッ

362:デフォルトの名無しさん
22/07/03 17:56:24.35 DiSdIFQe.net
正規表現を考えるときには複雑な情報を単純化する作業が必要になるんだがそういう意味では質問者のほうが才能がある
「店」と「東京都」という2つのキーワードさえ見つけられれば目的を果たせることを見抜いていた
それに対して回答者たちは単純だった依頼を複雑化させたあげく質問者を困らせ続けた
戻り読みを正規表現の先頭に置いてキャプチャを回避することが本当に処理量の軽減になっているのかも疑問
鈍器のページからテキストエディタで店名と住所を取り出すだけの作業に正規表現の高速化を考えるのはもはやコント
君らには問題を単純化する能力が足りないからその点を改善せよ

363:デフォルトの名無しさん
22/07/03 18:00:06.22 ZjFQgG61.net
>>356
>>340
店の直後から郵便番号まで、と十分に単純だと思うが君はこれが複雑なものに見えるのかな?

364:デフォルトの名無しさん
22/07/03 18:09:59.22 hqJYlR9w.net
>>356
取り敢えず君は書く文章を改善しよう
殆ど愚痴だよねそれ

365:デフォルトの名無しさん
22/07/03 18:20:19.30 K4HcDkkQ.net
どうしようもないケースを除いて「東京都」なんてのをハードコーディングするのは筋が悪いと言わざるを得ない

366:デフォルトの名無しさん
22/07/03 18:23:09.07 BZUl5BA7.net
それはともかく、キャプチャグループが無いのに気づいてないのを指摘してあげろよ
$1,$2に対応するものがないので両方ともヌルになってる

367:デフォルトの名無しさん
22/07/03 18:34:54.70 BC52HWP8.net
>>344
>>346
不思議だとかカシコイだとか面白すぎるんですけどw
それ書いてる>>314には$1なんてどこにも書いて無いのにw

368:デフォルトの名無しさん
22/07/03 19:05:13.97 ur8aI9T4.net
>>356
>>351,354についての答えが欲しい

369:デフォルトの名無しさん
22/07/03 19:53:34.01 RqS+SurZ.net
文章からして発達障害とかそのボーダーでしょ
鉄道マニアとか特撮マニアに多いタイプのガイジ

370:デフォルトの名無しさん
22/07/03 19:57:25.2


371:6 ID:THTbKALg.net



372:デフォルトの名無しさん
22/07/03 19:58:39.99 BZUl5BA7.net
351は論外だろ
強欲を貪欲に変えてるし

373:デフォルトの名無しさん
22/07/03 20:14:59.04 Qz5VC9/y.net
>>365
正規表現のコンテキストにおいて、強欲と貪欲にどんな違いがあるか教えて

374:デフォルトの名無しさん
22/07/03 20:15:30.32 nkFK6+7O.net
>>365
正規表現に関してはどっちも同じ
なぜなら元の英語greed(greedy)の直訳だから
辞書引けばわかるとおり、greedは強欲であり貪欲でもある

375:デフォルトの名無しさん
22/07/03 20:29:11.54 BZUl5BA7.net
言葉尻を捕らえても意味ないぞ
+,*を強欲とは言わん

376:デフォルトの名無しさん
22/07/03 20:37:36.27 BZUl5BA7.net
greedyは貪欲(欲張り)
Possessiveが強欲

377:デフォルトの名無しさん
22/07/03 20:38:07.23 7Xq6ZsUF.net
「強欲」と「最長一致」が別物ってことすら理解しないまま変な自説を垂れ流してることに気付いてないんだろうなあ
332あたりの皮肉もまったく通じてないみたいだし

378:デフォルトの名無しさん
22/07/03 20:38:53.41 BZUl5BA7.net
あれ、>>352で指摘されてるじゃん

379:デフォルトの名無しさん
22/07/03 20:39:33.16 nkFK6+7O.net
>>368
正規表現を理解してない自慢しなくていいから

380:デフォルトの名無しさん
22/07/03 20:45:47.16 nkFK6+7O.net
>>369
日本語に於ける欲深さは強欲>貪欲ってこと?

381:デフォルトの名無しさん
22/07/03 20:48:18.70 BZUl5BA7.net
具体例を挙げないとダメなのか?
ググることさえしないのか?
強欲の表現は
?+
*+
++
{n}+
{n,}+
{n,m}+

382:デフォルトの名無しさん
22/07/03 20:51:34.49 nkFK6+7O.net
納得いった
possessiveを強欲とした誤訳に基づく誤解だな
possessiveを強欲だと捉えてる人は331を誤りだと捉える、
翻ってgreedy, possessiveで理解してる人は貪欲と強欲が変わって何がおかしいのかすらわからない

383:デフォルトの名無しさん
22/07/03 20:53:24.55 DiSdIFQe.net
単純な話が複雑になってきたがこういうのが良くないんだ、プログラミングや正規表現をするなら特にな
単純な話になる方向にもっていくことを考えるべし
強欲の話を複雑化しようとしてる奴を見ればアホに見えるだろう、誰とは言わんが

384:デフォルトの名無しさん
22/07/03 20:55:43.09 u4Kf+yAq.net
>>369
それどこのQiitaに書いてあったん?w

385:デフォルトの名無しさん
22/07/03 21:00:18.88 BZUl5BA7.net
正規表現では強欲といえば何を想起するのかってのは常識だよ
英語自慢はいいけど日本語も勉強してね

386:デフォルトの名無しさん
22/07/03 21:04:50.41 gASOhw8R.net
鬼車 欲張り(greedy)/無欲(reluctant)/強欲(possessive)
詳説正規表現第2版 欲張り/非欲張り/強欲量指定子
詳説正規表現第3版 欲張り(greedy)/控え目(lazy)/絶対最大量指定子(possessive)
入門正規表現 欲張り/控えめ/独占的
貪欲???

387:デフォルトの名無しさん
22/07/03 21:06:06.84 nkFK6+7O.net
常識って偏見の塊でしょ知ってる

388:デフォルトの名無しさん
22/07/03 21:09:06.26 BZUl5BA7.net
じゃあ、強欲でgreedyを指す日本語の解説をどこか例示してくれ

389:デフォルトの名無しさん
22/07/03 21:15:22.52 nkFK6+7O.net
そんなもの不要でしょ
国語事典に於いては強欲と貪欲に序列はない
英和辞典に於いてはgreedyは強欲ならびに貪欲
和英辞典に於いては強欲も貪欲もgreedy
むしろpossessiveの方こそ欲張りとか独占的って意味になる
そういう意味では入門正規表現の表記が正しいと言えるかもね

390:デフォルトの名無しさん
22/07/03 21:20:26.16 BZUl5BA7.net
正規表現に関してはどっちも同じ、正規表現を理解してない
と言った口で正規表現の専門用語じゃなくて日本語として云々と言うか?
強情ッ張りにも程があるな

391:デフォルトの名無しさん
22/07/03 21:32:22.16 nkFK6+7O.net
>>383
ヘルプで学んだから強欲とか貪欲とか書かれてなかったしね
greedyだのlazyだの辞書引きながら覚えた身からすりゃ貪欲も強欲も同じ意味なのもわかるだろ?
強欲と言えば何を想起するかって正規表現の常識はどこで学んだの?原書とか読まないタイプ?

392:デフォルトの名無しさん
22/07/03 21:33:16.77 JPaw0m1w.net
>>375
スッキリした
possessiveを強欲と訳した人がいたんだね

393:デフォルトの名無しさん
22/07/03 21:37:15.00 JPaw0m1w.net
possessiveって「独占欲が強い」って意味だから
含意も伝わる入門正規表現の「独占的」が一番いい訳だと思う

394:デフォルトの名無しさん
22/07/03 21:38:14.39 BZUl5BA7.net
強欲というのを専門用語にしてるわけだから誤訳と言っても仕方ないだろ
誤訳だから俺だけは強欲と貪欲は同じ取り扱いをするよで世間で通じるとでも思ってるのか

395:デフォルトの名無しさん
22/07/03 21:39:37.19 BZUl5BA7.net
>>385
他の訳にしてるところもあるのは知ってるが
強欲をいう言葉を出してgreedyのことだと解説してるところは皆無だと思ってる
反例よろしく

396:デフォルトの名無しさん
22/07/03 21:42:08.05 THTbKALg.net
lookaheadの「先読み」はいいけど、
lookbehindの「後読み」も悪しき訳だよね
「戻り読み」の方が方向が理解しやすい

397:デフォルトの名無しさん
22/07/03 21:55:07.74 B7Hb5nx0.net
possessiveが強欲と訳されてるのは、たぶんJava界隈で「possessive (very greedy)」と表記されていたのが「強欲」と訳されて、『詳説正規表現第2版』でもその訳が採用されて広まったのかな
個人的にはうまい訳だと思うけど、英語から入った人が混乱するのは理解できる

398:デフォルトの名無しさん
22/07/03 22:44:39.24 R6EXpQG5.net
>>379
正規表現技術入門 欲張り/控え目/強欲
正規表現辞典改訂新版 最長一致(longest match)、欲張り、貪欲(greedy)/最短一致(shortest match)、無欲(reluctant)/強欲(possessive)

399:デフォルトの名無しさん
22/07/03 22:55:10.77 hD5VDdvY.net
最長最短でいいわ

400:デフォルトの名無しさん
22/07/03 23:12:37.67 RqS+SurZ.net
各日本語名は鬼雲方式でいいわ
URLリンク(github.com)

401:デフォルトの名無しさん
22/07/03 23:31:21.62 C1pvOjRy.net
lookahead 未来読み、lookbehind 過去読みなら、分かりやすかった
先読み・後読みの、先・後が分からない

402:デフォルトの名無しさん
22/07/03 23:46:52.53 C1pvOjRy.net
greedy, reluctant はよく見るけど、
possessive 強欲は知らない
絶対最大量指定子なら見た事がある

403:デフォルトの名無しさん
22/07/04 01:04:08.73 ILSPAQNd.net
Microsoftとかjavaとか強欲を使ってるね
もし本当に知らないというのなら無知すぎると言わざるをえない

404:デフォルトの名無しさん
22/07/04 17:32:20.05 ri3Dm2ZG.net
日本語で正規表現に関して議論するなら知っておいてほしい気はするけど、
訳語を一つ知らないだけで無知とか言わなくても…
例えばperlreは2011年に「強欲な」が「絶対最大量」の表記に変更されているようだし、
触ってきた言語によっては強欲って訳に馴染みが無いのかも

405:デフォルトの名無しさん
22/07/04 18:06:20.41 oo1ug/2U.net
>>388
ストローマン!ストローマンじゃないか!

406:デフォルトの名無しさん
22/07/04 18:31:29.79 5WegoFeO.net
possesiveを強欲と呼ぶのは明らかな誤訳だし
greedyと勘違いするリスクも低くないんだから使わないほうがいい
同じようにgreedyを強欲と呼ぶのもリスクあるから避けるべきだね

407:デフォルトの名無しさん
22/07/04 19:19:19.95 rQV6IDNU.net
perldoc.jpでは「non-greedy」を「非貪欲、貪欲でない」、「non-possessive」を「強欲でない」としていますね

408:デフォルトの名無しさん
22/07/04 20:10:42.89 ckHiziij.net
「ひんよく」の人なら「きょうよく」と読んでしまいそうだしな
「独占的」がベストだという結論ならそれを広めようと思うがどうだろうか?

409:デフォルトの名無しさん
22/07/04 20:35:20.72 PN4eFOxq.net
貪婪/勉強、逐歩/独占、占有、独吐
食べきった文字を二度と吐き出さない=獨吐

410:デフォルトの名無しさん
22/07/04 20:35:46.95 4rkDJ26


411:m.net



412:デフォルトの名無しさん
22/07/04 20:50:18.31 oo1ug/2U.net
強欲からpossessiveを連想するのが難しい以上、
possessiveを強欲とするのが適しているとはとても思えない

413:デフォルトの名無しさん
22/07/04 21:21:35 4rkDJ26m.net
それは英語に「欲張り」と「強欲」のニュアンス違いに相当する言葉が無く
どちらもgreedyになってしまうからpossessiveと置いているだけの話で
逆輸入してあちらさんの言葉に合わせるよりは
より本質的に合った言葉を当て嵌める方が理解しやすいし、訳としても正しい

414:デフォルトの名無しさん
22/07/04 21:22:02 5E8qS6xJ.net
いつまでやってんだ?

415:デフォルトの名無しさん
22/07/04 21:26:25.77 oo1ug/2U.net
昔話の欲張り爺さんは強欲爺だろ?
日本語だって欲張りと強欲に序列なんてないだろ
そも強欲は宗教用語だし

416:デフォルトの名無しさん
22/07/04 21:29:14.26 CMsCi2w4.net
?サッカーでボール所有率をポゼッション(Possession)と表現するよ

417:デフォルトの名無しさん
22/07/04 21:42:50.78 ckHiziij.net
正規表現という名前自体も正則表現が正しいとよく言われるが正規表現と呼ばれ続けてるね
一度浸透してしまったら変更するのは容易ではないね
ほとんどの人にとっては強欲か独占的のどちらがいいかなんて「意味の違いなんかどうでもいい!変えるな!」だろうな
独占的 (旧名: 強欲)
というように注釈を付けながら変えるのが理想的だが果たして各方面に受け入れてもらえるのだろうか?

418:デフォルトの名無しさん
22/07/04 21:51:29.57 CMsCi2w4.net
ネスレはレギュラーコーヒーに戦いを挑んでないみたいだけど、
インスタントコーヒーに取って代わるべくレギュラーソリュブルコーヒー推しだよね

419:デフォルトの名無しさん
22/07/04 22:00:36.67 sR2pocrJ.net
ネッスルの方がなじみ深い

420:デフォルトの名無しさん
22/07/04 22:06:35.42 7wZS5m0B.net
違いがわかる男の正規表現

421:デフォルトの名無しさん
22/07/04 22:10:57.58 at368eXu.net
ポゼッシブを強欲と呼んでる人がいるのこのスレで初めて知ったよ
強欲の英訳はほぼ100%greed/greedyになるから絶対やめた方がいい

422:デフォルトの名無しさん
22/07/04 22:18:25.27 Fzsxp6Q8.net
>>413
possess v. って単に所有する、っていう意味なのにね

423:デフォルトの名無しさん
22/07/04 23:33:58.60 Tw6HV9Rf.net
なにも日常語のpossessiveを強欲と訳しているのではない
「握ること」=「米の球」という誤訳が同じ物🍙を指すことで意訳になるのと同じで、
正規表現においてはpossessiveと強欲と絶対最大(量指定子)という語は定義によって同じ物を指して、対応する用語になっているというだけ
やたら英訳にこだわっている人は、possessiveという用語に対応するキーワードのひとつである強欲を知らずにgreedyと英訳してしまった無知をごまかしているように見える

424:デフォルトの名無しさん
22/07/05 00:14:37 Pgzcl5cT.net
>>415
「米の球」を黒焦げに焼いたらtarballになる、まで読んだ

425:デフォルトの名無しさん
22/07/05 10:52:26 K5Eu4yGw.net
>無知をごまかしているように見える

この人の感受性がおかしいと感じたのは俺だけだろうか、やたら人のことを悪く見ようとしてないか?
知らない人に対する潜在的な恐怖心がこういう発言になるのかな?分からんがみっともないからやめたほうがいい

426:デフォルトの名無しさん
22/07/05 11:08:04.06 sc95gC5i.net
議論は別にすきにしろよと思うが人格否定や揚げ足取りは荒れる元だからやめろ

427:デフォルトの名無しさん
22/07/05 11:41:54.88 cG0ybmcU.net
>>417
そらそこは反論を期待して英訳に固執する人を揶揄してわざと悪し様に言ったところだからな、図星だったなら謝るよ
でもまさか本題には一切触れず蛇足だけに突っ込んで人格の否定までして論点をずらすような真似をされるとは思わなかった、よほど気に障ったのだろうか
あ、反論があるなら本題の方をメインで頼むな、他の人に迷惑でみっともないからね

428:デフォルトの名無しさん
22/07/05 12:00:26.75 364oCHD3.net
>>416
おっと焼きおにぎりの悪口はそこまでだ

429:デフォルトの名無しさん
22/07/05 13:10:32 /Cj5WPzT.net
当て身は打撃のことじゃないって言い張る格ゲープレイヤーみたい

430:デフォルトの名無しさん
22/07/05 13:38:26 K5Eu4yGw.net
その攻撃性と被害妄想的な受け取り方はどうにかならんの?普通に会話すればいいだけだと思うのだが
このレスを読んでも攻撃されてると思うの?

431:デフォルトの名無しさん
22/07/05 13:44:47 SfuXrTgV.net
その精神病を当て擦るような言い方

432:デフォルトの名無しさん
22/07/05 16:42:32.77 9eeXBGst.net
>>ID:K5Eu4yGw
議論で熱くなって中傷が混じるのは褒められないことではあるがある程度は容認出来る
おまえは議論の本題に触れもせず、中傷、人格攻撃だけのレス
この違いが分かる?
中傷したいのなら議論の本題に上手く絡めて、やれ

433:デフォルトの名無しさん
22/07/05 17:00:54.47 8BLlx4g8.net
>>415
>正規表現においてはpossessiveと強欲と絶対最大(量指定子)という語は定義によって同じ物を指して、対応する用語になっているというだけ
それが問題だよねって話をしてるんでは?
正規表現においてpossessiveのことを強欲と呼ぶのは適切ではないという主張に対する反論にはなってないように見えるけど?

434:デフォルトの名無しさん
22/07/05 17:21:05.39 hw2faXZs.net
●Regular Expressionの使用環境
サクラエディタ2.3.2.0(bregonig.dll 4.20 with 鬼雲6.2.0)
●検索か置換か?
検索
●説明
\sの結果にUnicodeのスペースは全て含めたいが
Unicodeの改行(LF,CR,CRLF,NEL,PS,LS)は含めたくない。
(UNICODEの改行は厳密にはVTとFFが含まれると思いますが
URLリンク(www.unicode.org)
できれば今回はVTとFFは例外で改行ではないスペース扱いにしたいです)
●対象データ
UTF-8テキストファイル
小U+0020迫LF(U+000A)
松U+0009本CRLF(U+000D U+000A)
高U+3000田NEL(U+0085)
●希望する結果
半角スペース
水平タブ
全角スペース
※単純に\sで検索すると都合6箇所マッチしてしまうので、
(サクラエディタが改行コード扱いする)Unicodeの改行(LF,CR,CRLF,NEL,PS,LS)を
マッチ対象から除外して3箇所だけにマッチする正規表現が知りたいです。

435:デフォルトの名無しさん
22/07/05 17:22:13.40 9eeXBGst.net
> possessiveのことを強欲と呼ぶ
飽く迄、英語をベースに日本語へ訳したいワケね
そういう解釈をしてるからおかしく感じるのだろう
日本語の欲張りに対しての強欲に相当する語が無いから英語ではpossessiveを充てている
英語側の単語が貧窮な都合だ

436:デフォルトの名無しさん
22/07/05 17:43:33.84 9eeXBGst.net
>>426
文字集合の積演算
[\s&&[^\r\n\x0085]]
これにPS,LSも含めればいい

437:デフォルトの名無しさん
22/07/05 17:56:41.32 4sOf+wSV.net
>>427
日本語も欲張りと強欲はどちらも欲深いことを言っているだけで、
欲の深さを示してはいないよ
近いと近距離、どっちの距離が離れているかを示せないないのと同じ
さらに言えば
逆に英語では明確に区別された語(greedy?|possessive)を、
明確に区別できない語([貪|強]欲)に置き�


438:ゥえたのが問題 直訳・意訳ですらない置きかえ 日本語に対して英語を充てたとそう勘違いしてる?



439:デフォルトの名無しさん
22/07/05 18:10:02.38 K5Eu4yGw.net
>英語の人
なんか申し訳ないね、せっかく英語の意味の違いを教えてくれたのにこんなことになってしまって・・代わりに謝るよ、ごめんね
俺も強欲という名前は間違いだと思う、教えてくれてありがとね

440:デフォルトの名無しさん
22/07/05 18:23:23.60 9eeXBGst.net
> 欲張りと強欲はどちらも欲深いことを言っているだけ
そりゃどちらにも「欲深い」の意があるだろう
だがその2つが並んで違いを理解出来無いのならおまえの日本語力に問題がある
普通に日本語を扱える者ならば「強い」を含む側に強い意味合いが込められていると解する
自分が分からなかったからと言ってケチ付けて自己肯定、「俺が悪いんじゃない」するのはみっともない

441:デフォルトの名無しさん
22/07/05 18:29:53.51 4sOf+wSV.net
>>431
そうか、「強」が付いてると強いのか知らなかった
強奪と収奪は強奪の方がより奪えるって理解でいいのかな
勉強になる

442:デフォルトの名無しさん
22/07/05 18:41:45.68 KH2ZmSBP.net
>>427
英語をベースにしないならそれこそrice ballのようにもっと適切な命名があるでしょ
プログラミング分野においてgreedyを貪欲/強欲/欲張りと訳すのが定番化してる中で
正規表現の場合だけは強欲は貪欲とは意味が違うというのが無理筋で悪い命名でしかない
フクロウ本の第3版で変更されてるのも強欲だと違いが分かりにくい/紛らわしいからだと思うよ
いい命名ではないけど貪欲に対して超貪欲とかならまだ賛同できた

443:デフォルトの名無しさん
22/07/05 18:41:56.55 4sOf+wSV.net
ちなみに日本語には無欲と[貪|強]欲の間に[小|少]欲ってのがあって、
こっちは明確に欲が少ないと定義されてるんだが、
普通に日本語を扱える者は「小さい」あるいは「少ない」欲の対義語として
「強い」欲となることに違和感を持たないものかな?
…とここまで書いて気付いたけど、貧と強が欲の深さを表してると思ってたってことか
かわいいね

444:デフォルトの名無しさん
22/07/05 19:04:14.64 K5Eu4yGw.net
昔は強欲でも困らなかったんだろう、しかし時代は変化していくからな
日本人にとって英語がより身近になれば英語から見ておかしい訳は淘汰されていくだろう
野球のカウントが S B O から B S O の順に変わったのと似てる、野茂以前では S B O で何の不都合も無かった
メジャーリーグを大リーグと呼ぶ訳は英語が分かる人から見てどう思うのか少し気になるw

445:デフォルトの名無しさん
22/07/05 19:04:56.60 TINjq0RZ.net
>>430
私(415,419)に対する人格攻撃や精神疾患への当て擦りととられる発言まで晒しておいて自身の行為は謝罪しないのな
一般に貪欲も欲張りも強欲もまとめてgreedなのもpossessiveが強欲でないこともあなた以外全員知ってた
その上で用語として定義されたものを訳とみなしたときの気持ち悪さについて議論している
絶対最大の英訳がpossessiveとかそれこそあり得ないだろ?

446:デフォルトの名無しさん
22/07/05 19:05:56.36 9eeXBGst.net
> 強奪と収奪
「奪う」はどちらも同じ
収は集める意が含まれる
強奪の強は「強引に」の意
ひったくりは収奪よりは強奪
村やビル占拠して人質脅して金品出させるようなのは「集める」ので収奪
収奪だって「奪う」ので「強制」的、強奪ではあるが「集める」方をより強調させた言葉
あと言葉はふわっとしてるもので意味するところはある程度の範囲がある
「奪う」の意が同じなのでどちらでも問題が無い場合もあるだろう
だが
> その2つが並んで違いを理解出来無いのなら
と書いたように両者を用いているのであれば、そこに違いがあって当然なわけで普通はその差異を汲み取れる

447:デフォルトの名無しさん
22/07/05 19:31:46.72 K5Eu4yGw.net
>>436
いや俺そこまでのことは言ってないと思うのだが
そんなつもりではなかったのでそれ以上に受け取ったなら謝るよ、ごめんね
>絶対最大がpossessive
日本語から英語への翻訳がこれだったら変だと思うね

448:デフォルトの名無しさん
22/07/05 19:45:12.44 4sOf+wSV.net
>>437
> 強奪の強は「強引に」の意
そういうことまでわかっていながら強欲についは頑なに強いと思ってるその認知はどこから来てるんだろう
大欲じゃいけない理由も知りたい

449:デフォルトの名無しさん
22/07/05 19:52:54.12 9eeXBGst.net
> 強欲についは頑なに強いと思ってるその認知は
>> その2つが並んで違いを理解出来無いのなら
が理解出来無い?
『「欲張り」と「強欲」が併用されている場合』に
どちらが強い意味合いを持つのかは一目瞭然な訳だが
まだ続けるの?

450:デフォルトの名無しさん
22/07/05 20:03:46 9jUwBfIC.net
SunやMicrosoftが使ってる以上、意味はどうあれ専門用語として取り扱うべきである
俺は嫌だから使わないってのはいいけど
他人が使ってるのをそんな言葉知らんぞ、間違ってると指摘するのは異常人

451:デフォルトの名無しさん
22/07/05 20:05:32 4sOf+wSV.net
>>440
思い込みじゃなくそうと示された他の資料を欲しい
一目瞭然なら当然どこかしらに示されてるだろうけど、
webの辞書や記事と手元の辞書ではその差を確認できなかったから

452:デフォルトの名無しさん
22/07/05 20:07:09 4sOf+wSV.net
>>441
MSはかつてそういう指摘に応えて使用する用語を変えてきた実績があるよ
一度決めたら二度と変わらないって会社ではない

453:デフォルトの名無しさん
22/07/05 20:11:53 4sOf+wSV.net
>>441
Oracleは日本語を正とせず英語を正としろって立場を採ってるよね
誤訳がありうるってことだし、誤訳によりライセンス内容の整合性がとれなくなったMSの事例もあるね

454:デフォルトの名無しさん
22/07/05 20:25:49 mmXAp8Yt.net
なんだなんだ
「強欲」って用語が指していることを理解してなくて会話がかみ合わなかった週末の人、
数日経ってもまだ「ぼくちゃんまちがってないもんえいごだとこうなんだもん」って駄々こねて80レス位進んでるのか・・・・・

ちょっとした勘違いとかちゃんとした日本語のドキュメントに目を通してなかったとか誰にでもあることなんだから
それこそ貧欲って書いてた人みたいに一言間違ってたわwって言うくらいで収まることだと思うんだけどなあ
悪いけどやってること恥の上塗りだよ?

455:デフォルトの名無しさん
22/07/05 20:35:51.78 K5Eu4yGw.net
もう ひんよく と きょうよく でいいよ

456:デフォルトの名無しさん
22/07/05 22:07:33.30 mmXAp8Yt.net
同一人物のくせに他人のフリとかどんだけ面の皮厚いんだよ・・・とか一瞬思ったけど
ID:K5Eu4yGw と ID:nkFK6+7O ID:4sOf+wSV は別人だったのか
見分けついてなくて同一レベルのゴミかと思ってたわごめん

457:デフォルトの名無しさん
22/07/05 22:30:45.62 JtY8aViY.net
口語だと基本的に最短一致、最長一致、バックトラックしない最長一致って言ってる
欲張りとか強欲とか実際に口に出して言ってる人には出会ったことないわ

458:デフォルトの名無しさん
22/07/05 22:50:11.96 MNnvUB1p.net
(非探索)最長一致
(最)多一致
(最)少一致
どちらも「最長」だと紛らわしさがあるので
でも「強欲」で定着しているものをわざわざ言い換える程の事でも無いと思う

459:426
22/07/06 00:22:09.50 ToTyGXGb.net
>>428
\x0085を\x{0085}に変えて
[\s&&[^\r\n\x{0085}\x{2028}\x{2029}]]でOKでした
積演算&&の有効な使い方を初めて知りました
どうもありがとうございました

460:デフォルトの名無しさん
22/07/06 02:03:37 7JN09BFV.net
\R*+\K\s

461:デフォルトの名無しさん
22/07/06 05:39:49.51 FCzm9xaa.net
口頭ってことは対面レビューとか他の人と共有するソースコードでの正規表現だよね?
そうなると、相手のスキルレベルにもよるけど
「強欲」って単語だけで


462:なく強欲な正規表現自体も避けておくかなあ このスレのうんざりする流れを見てもわかるとおり「強欲」が相手に通じるとは限らないし (強欲な正規表現なんて使ったことがない人のほうが多数派だろうし) 最長一致で事足りるなら多少のパフォーマンス悪化には目をつぶる チャットとかなら「++」みたいな具体例を明示して「強欲」って単語を使うかな ここみたいな正規表現スレならなにも前提を置かなくとも普通に「強欲」で通じるものとして会話するけど・・・ 会話が成り立たなかったうえに間違いを指摘されても「英語だと」「口語だと」「xxxだと」とか延々ゴネる人とは会話したくないなあ いい加減NGしたいからコテつけてくれるとありがたい



463:デフォルトの名無しさん
22/07/06 06:39:20.23 5qGkM3IH.net
しかし回答者のレベル低下が酷いな
ドンキホーテの件にしてもページの置換結果がそのまま店一覧のCSV形式になるような置換をして欲しかったな
$1,$2の件や強欲のすれ違いについても積極的に事態の収集を図ろうとせず悪化させて悪乗りするとはね

464:デフォルトの名無しさん
22/07/06 06:47:28.85 TTp+bFLp.net
英語名を変えさせたら良い
gohyork
yorkvary
muyork
対応して日本語名もカタカナ表記で
ゴヨーク
ヨークバリー
ムヨーク
そういう『名前』としてしまえば解決
一意な名称を与えた方が誤解も少なくなるだろう
> 強欲な正規表現なんて使ったことがない人のほうが多数派だろうし
それはあまりにもレベルが低すぎじゃね?
知らない者が学ぶべきであって触りすらも学んだことの無い者へ合わせる必要なんて無い

465:298
22/07/06 06:53:49.49 ZAN9ui5m.net
>>361
> それ書いてる>>314には$1なんてどこにも書いて無いのにw
つまり、>>314の「,」があまりに小さくて見えなくて、
(?<=店)[^〒]*?〒\d{3}-\d{4}\s++
これしか書いてなくて、
2行目の$1,$2を省略したと思ったのですw

466:デフォルトの名無しさん
22/07/06 07:02:49.27 5qGkM3IH.net
ここの回答者はそう勘違いしてるのを知ってて何も助言しなかったんだぞ、馬鹿にして笑ってたんだよ
このスレは過疎たせいで悪質な初心者が上級者ヅラするようになってしまった

467:298
22/07/06 07:06:06.70 ZAN9ui5m.net
秋葉原店
専門店
住所
〒101-0021 東京都千代田区外神田4丁目3-3
TEL
0570-024-511


で、さらに教えて欲しいのですが、
前回と同じ質問ですが、
店名と住所を抽出したいです。
で、↓を使いたいのですが、
店を抽出キーワードにすると、専門店とか店舗詳細とかの「店」も拾ってしまうのです。
で、データをよくみると、「 秋葉原店」のように店名の前にスペースがあります。
で、
( )(?<=店)[^〒]*〒\d{3}-\d{4}\s++ と、やってみたのですがダメでした。 どうすればよいでしょうか?
(?<=店)[^〒]*〒\d{3}-\d{4}\s++  ←は>>314さんの教えてくれたヤツ。

468:デフォルトの名無しさん
22/07/06 07:09:45.51 SZC2q9b+.net
これ非包含演算子に粘着してるのと同じやつだろ
粘着気質と承認欲求丸出しのマウンティング気質が全く同じ

469:デフォルトの名無しさん
22/07/06 07:46:05.23 o/55z/m0.net
>>453
再質問来てるぞ
> ドンキホーテの件にしてもページの置換結果がそのまま店一覧のCSV形式になるような置換をして欲しかったな
おまえがお手本見せてやれや
回答者をバカにするくらいだから余裕だろ?
>>457
>>320
使い方分からないならJSスレか初心者スレ行って聞いたらいい

470:298
22/07/06 08:07:45.17 ZAN9ui5m.net
>>459
↓って英語だからどうやって使っていいのかわかりません。
URLリンク(pastebin.com)

471:デフォルトの名無しさん
22/07/06 11:44:54.56 MXaUuSJv.net
まず英語の勉強をするべき

472:デフォルトの名無しさん
22/07/06 12:10:15.16 c6fRPAAn.net
CSV の正規表現なんて、数千行ぐらい掛かるだろ。
HTTP の正規表現でも膨大だろ
行区切り文字の改行
列区切り文字のカンマ
クォート文字のダブルクォーテーション。
クォート文字が無くても、意味が変わらなければ省略できる
クォート文字内では、行区切り文字・列区切り文字の効果がなくなり、単なる文字となる。
クォート文字内で、連続した2つのクォート文字を使えば、
クォート文字の効果がなくなり、単なる1つのクォート文字となる
もし、クォート文字の対応関係が崩れたらエラー。
クォート文字の数は、必ず偶数個である
こんな膨大な条件判断を書けるわけない。
条件判断とか構造があるものは、正規表現では無理。
こういうものは、Ruby などのパーサーを使わないと無理
CSVをawk などで処理している香具師とか、CSVの構造を分かっていないから、
こういう特別な意味をもつ文字が混じると、バグル

473:デフォルトの名無しさん
22/07/06 13:40:21.16 gR1YTmZs.net
>>462
なんでCSVのパースする前提になってるんだ?
webの店舗情報のテキストをCSVにするのになんでクォート内の対応を気にする必要がある?

474:デフォルトの名無しさん
22/07/06 15:43:31.34 MXaUuSJv.net
KEИTAはでたらめ

475:462
22/07/06 17:15:52.66 c6fRPAAn.net
行区切り文字の改行、列区切り文字のカンマ、
クォート文字のダブルクォーテーション
CSV データ内に、こういう特別な意味をもつ文字が混じると、バグル
これらの文字が無ければ、Ruby などのCSVパーサーを使わずに、
awk などで処理しても、バグらない

476:デフォルトの名無しさん
22/07/06 17:19:01.24 QeuQIz9d.net
なんか話脱線マウントしまくって会議やコードレビュー下手くそで顰蹙を買いまくってそうな人来てるやん

477:デフォルトの名無しさん
22/07/06 17:55:19.63 gR1YTmZs.net
>>465
混ぜなきゃいいのでは

478:デフォルトの名無しさん
22/07/06 19:01:53.46 kQhbtDqq.net
いつも文体一緒だからバレる

479:デフォルトの名無しさん
22/07/06 19:30:39.95 5qGkM3IH.net
>> 298
「店」が無い店もあったからHTMLソースから取り出すようにしたよ
ブラウザでHTMLソースを表示させてnotepad++にソースをコピペしてから置換して
1回目の検索欄
^[^\r\n]*<h4\s+[^>]*class=["']?shopList[_\-\s]*storeName["']?[^>]*>\s*<span[^>]*>\s*</span\s*>\s*([^\s<>\r\n]+(?:\s+[^\s<>\r\n]+)*)\s*
</h4\s*>(?:(?!<dd[^>]*>\s*〒|<h4)(?:[\r\n]|.))*<dd[^>]*>\s*〒\s*[\d\-]+\s+([^\s<>\r\n]+(?:\s+[^\s<>\r\n]+)*)\s*</dd\s*>[^\r\n]*$
1回目の置換欄
うんこ$1,$2
2回目の検索欄
^(?!うんこ)[^\r\n]*$[\r\n]+
1回目の置換欄
( 空欄にして )

2回の置換が終われば店舗一覧が完成しているはず

1回目の検索欄は長すぎるから2行に分割したよ、1行に繋げてから使って
検索欄や置換欄に記入するときは前後に余計なスペースやタブ文字が紛れ込まないように
HTMLの細かい変化にはなるべく対応出来るようにしたけど店舗一覧のページがリニューアルしたら使えなくなるよ

480:デフォルトの名無しさん
22/07/06 19:34:28 5qGkM3IH.net
ミスった

1回目の置換欄
( 空欄にして )

これは2回目だね

481:デフォルトの名無しさん
22/07/06 19:39:45 5qGkM3IH.net
全国の店舗一覧を取得したいならwgetなどで各店舗一覧ページをローカルに保存してからnotepad++のファイル一括置換でまとめて置換したほうが楽
「wgetの使い方が分かりません」はスレ違いなのでよそで聞いて

482:デフォルトの名無しさん
22/07/06 23:10:34.54 gFUK7vgi.net
ホンの少し複雑化しただけで頭の悪さや性格って浮かび上がるよねw

483:デフォルトの名無しさん
2022/07/07


484:(木) 16:29:53.46 ID:ls1FMHZL.net



485:デフォルトの名無しさん
22/07/07 16:37:27.46 3hUwVJb0.net
掃除して整形してからやるのがコスパ良いに決まってる
力業いくない

486:デフォルトの名無しさん
22/07/07 17:27:59.03 EezL89dt.net
ケースバイケースやろ

487:デフォルトの名無しさん
22/07/07 17:45:22.88 QZNfJ5wA.net
答え合わせ出来るとか、間違いに気付き易いor間違い難いケースは1発
合ってるか分かり難い場合は間違い難い正規化式で段階踏む

488:デフォルトの名無しさん
22/07/08 12:52:02 /znuHP85.net
パイプ・フィルターみたいに、どんどん変換していく方が分かりやすい。
処理A | 処理B | 処理C

Ruby の正規表現では、3種類の改行を、\R と書ける

/\r\n|\r|\n/

/\R/

489:デフォルトの名無しさん
22/07/10 17:44:55.47 0O2dRiW8.net
>possesive
ポジティブ

490:デフォルトの名無しさん
22/07/16 01:09:47.27 gUwlqT3Y.net
そして誰もいなくなった

491:デフォルトの名無しさん
22/07/16 09:09:55.88 L4T2PUf2.net
民度の低い異常者が常駐してたらそりゃ関わりたくないもん

492:デフォルトの名無しさん
22/07/16 11:12:47.12 WasoqaBj.net
自己紹介乙

493:デフォルトの名無しさん
22/07/20 06:49:04.62 v4tHM0fs.net
●Regular Expressionの使用環境
秀丸
●検索か置換か?
置換
●説明
同じ文字+間に要らない文字列+同じ文字

同じ文字 一つにしたいです
●対象データ
[ぬるぽ & ぬるぽ]
[ガッ-ガッ]
[hoge & hoge]
●希望する結果
ぬるぽ
ガッ
hoge
よろしくお願いいたします。

494:デフォルトの名無しさん
22/07/20 07:23:49 iuCM0uSo.net
説明にない[は何?

495:デフォルトの名無しさん
22/07/20 08:35:20.99 jm1i1IHH.net
>>483
すみません希望する結果はこちらでおねがいします
[ぬるぽ]
[ガッ]
[hoge]

496:デフォルトの名無しさん
22/07/20 09:04:35.27 Fdf9zFh2.net
テスト
\[(.+?)(.*?\1)\](?\2)

497:デフォルトの名無しさん
22/07/20 16:27:05.86 f63hBcuy.net
(.+).+?\1
$1

498:デフォルトの名無しさん
22/07/20 16:30:30.08 OlkAUELc.net
[ wow & wow]

499:482
22/07/20 17:48:38.07 VWdn2Di+.net
>>486さんの正規表現で上手くいきました
ありがとうございました

500:デフォルトの名無しさん
22/08/28 01:14:30.52 y+9tLdhC.net
正規表現の先読み・後読み URLリンク(zenn.dev)

501:デフォルトの名無しさん
22/08/28 07:40:58.02 MbqzPdhg.net
perlでは/.*hoge/より/.*?piyo/の方が圧倒的に速いのか
ステップ数は大して変わらなそうなのに

502:デフォルトの名無しさん
22/08/28 08:17:37.04 e6Sjxbuq.net
>>490
perlに限らずそりゃそうだろ
"hoge...めっちゃ長い文字列..."
ってあったら /.*?hoge/ なら最初の hoge でマッチしたと判断できるけど /.*hoge/ だと最後まで見ないと判断できない
最後に hoge ってある可能性があるから

503:デフォルトの名無しさん
22/08/28 08:52:32.95 7Mb5USF7.net
>>491
hogeじゃなくてpiyo
"hoge...めっちゃ長い文字列...piyo"
ってあったら /.*?piyo/ と /.*hoge/ は同じくらいだと期待するでしょ
489のコメントの比較テストを見てなんでそうなるのかなと

504:デフォルトの名無しさん
22/08/28 09:11:11.32 dcB5AKwO.net
>>492
そりゃそういうケースもあるけどそうでないケースの方が多いだろ

505:デフォルトの名無しさん
22/08/28 10:55:00.88 V92k17Tf.net
489の記事・コメントを見たけど
「.*hoge.*」

「.*?hoge」
の比較をして後者のほうが圧倒的に早いって記述はあったが
490の言ってる比較はどこにも見当たらないようだけど・・・?
492の
>hogeじゃなくてpiyo
はもっと意味不明だな
「/.*hoge/」
「/.*?piyo/」
の違いで、491は「.*」「.*?」の違いで速さが変わるのが当たり前って話をしてるのに
"hoge...めっちゃ長い文字列...piyo"みたいな極端な例を突然出してこられても

506:デフォルトの名無しさん
22/08/28 12:06:13.62 3aiLuiYL.net
マッチする場合はそれほどステップ数は変わらないけど
マッチしない場合のステップ数の差は大きいね

507:デフォルトの名無しさん
22/08/28 12:10:20.88 iCw3MfJc.net
(?s:^(?=.*(?:トビラ|280|280|[内外]製|純正|公式))(?=.*(?:ガイジ|発狂|長文|必死|キチガイ|キチキチ)))
これって何か間違ってますか?280が消えない時があります

508:デフォルトの名無しさん
22/08/28 12:33:21.57 4oWDpmI8.net
[22][88][00]
こういうこと?その消えない時のレス見ないと正確なことは分からんよ
後ろが一致してないのかもだし数値参照かもしれんし

509:デフォルトの名無しさん
22/08/28 14:30:01.62 HKThARKH.net
なぜ組み合わせたいのかがよくわからんな
後半のパターン部分を素で書けば良いと思うんだけど、あえて暴言を目視したいスレでもあるんだろうか?

510:デフォルトの名無しさん
22/08/28 14:36:53.39 q8tm2XHG.net
単発のNGの他に連鎖NGとかIDごとNGとかあるだろ
わからないなら黙ってろよ

511:デフォルトの名無しさん
22/08/28 16:16:08.48 XxcpkpFs.net
ごめん

512:デフォルトの名無しさん
22/09/04 01:47:12.24 0/i0sC9q.net
GNU grep 3.8 (2022-09-02)から-Pオプションのリンク先がPCRE2になったらしい
それ以前は古いPCREだった
-Pオプションが機能しないWindows版grepバイナリには関係のない話だけど

513:デフォルトの名無しさん
22/09/04 07:42:45.45 pCQ9P7Vy.net
1
2

10
77
100
150
1000
3桁までの数字のみをする場合
[0-9]{,3}だとダメでした
正規表現チェッカーでいろいろ試しているですが分かりません
200までの数字だとどうしたらいいですか?

514:デフォルトの名無しさん
22/09/04 08:41:45.13 x2tuNrOY.net
URLリンク(www.simple-edition.com)
[1-9]|[1-9][0-9]|1[0-9]{2}|200
で範囲を作ったものを
URLリンク(weblabo.oscasierra.net)
ここに代入しても使えませんでした
「正規表現」の意味合いが違うんでしょうか?

515:デフォルトの名無しさん
22/09/04 09:08:03.10 MIQciAoV.net
>>503
それだと92000の200にもマッチしてしまうよ
インド数字等を気にしないなら[0-9]は[\d]でもOK
(?<![0-9])(?:200|[1][0-9]{2}|[1-9][0-9]|[0-9])(?![0-9])

516:デフォルトの名無しさん
22/09/04 09:46:10.78 ZQZ632xa.net
>>503
[0-9]{1,3}
これだと結果でるようだけどそのサイトm値省略不可なのでは
他に | のorも説明ないようなのでダメとか
正規表現文法どこまで対応してるかは動かす環境次第なので質問テンプレートにも入力項目になってんだけど
>>1

517:デフォルトの名無しさん
22/09/04 10:07:01.01 qlj2b1lm.net
すまない
●Regular Expressionの使用環境
iPhone,a-shellというアプリ
●検索か置換か?
検索
●説明
フォルダ内にある写真を圧縮するため
●対象データ
1から200などのjpegとかの画像
●希望する結果
検索してそれをまとめて圧縮

518:デフォルトの名無しさん
22/09/04 10:19:49.12 NNtN3+VI.net
まあ案件次第だけど
> 200までの数字だとどうしたらいいですか?
とかなら\d+で取得してアプリケーション側で弾くのが後の保


519:守を含めて簡単かと思う



520:デフォルトの名無しさん
22/09/13 19:48:53.80 aae9uQ50.net
スルーされにくい質問のテンプレと例
●Regular Expressionの使用環境
PowerShell7.2
●検索か置換か?
置換
●説明
文中(先頭及び文末以外)の0が連続して3つ以上並ぶ部分をハイフン(-)に置換したい
●対象データ
123000444
000123000
1230000000444
●希望する結果
123-444
000123000
123-444
よろしくお願いいたします。

521:デフォルトの名無しさん
22/09/13 20:02:34.86 BFM47HY2.net
(?<!^)000+(?!$)
-

522:デフォルトの名無しさん
22/09/13 20:23:28.22 el3nukes.net
00000 → 0-0 ?

523:デフォルトの名無しさん
22/09/13 20:37:38.14 G28B9gdh.net
ああ、
00001200030000

0-12-3-0
とするのか (>>509のやつ)
先頭末尾に繋がっている0は無視したい
000012-30000
のか例からだと不明だね

524:デフォルトの名無しさん
22/09/13 21:45:26.67 aae9uQ50.net
508です。
早くもいろいろご回答いただきありがとうございます。
そしてすみません、みなさまのリプを見て自分の考えが足りなかったことに気付きました…
変換は一度だけ、先頭から数えてもっとも近いもののみです。
正しく書き直します、すみません。
スルーされにくい質問のテンプレと例
●Regular Expressionの使用環境
PowerShell7.2
●検索か置換か?
置換
●説明
文中(先頭及び文末以外)の0が連続して3つ以上並ぶ部分をハイフン(-)に置換したい
(先頭から数えて最初の一致のみ)
●対象データ
123000444
000123000
1230000000444
12000045600006
●希望する結果
123-444
000123000
123-444
12-45600006
よろしくお願いいたします。

525:デフォルトの名無しさん
22/09/13 22:09:54.11 jeF3JQfM.net
>>511
> 先頭末尾に繋がっている0は無視したい
こんな条件どこから出てきたんだ?

526:デフォルトの名無しさん
22/09/13 22:20:12.97 GLLSFlxd.net
「文中(先頭及び文末以外)の0」が連続して3つ以上並ぶ部分
文中(先頭及び文末以外)の「0が連続して3つ以上並ぶ部分」

527:デフォルトの名無しさん
22/09/13 22:24:49.17 clq+OpKM.net
^([1-9]+)0+(\d+)$ --> $1-$2
でいかがでしょう

528:デフォルトの名無しさん
22/09/13 22:33:07.80 clq+OpKM.net
あ、「ゼロ3つ以上」を満たしてなかった
また考えますー

529:デフォルトの名無しさん
22/09/13 22:35:39.26 clq+OpKM.net
^([1-9]+)0{3,}(\d+)$ --> $1-$2
でしょーか

530:デフォルトの名無しさん
22/09/13 22:46:39.11 7uE/UK4/.net
010001

531:デフォルトの名無しさん
22/09/13 23:08:19.66 G28B9gdh.net
>>513
> 文中(先頭及び文末以外)の0が
の説明と例からだと
「先頭以外」が先頭の0、1文字を指すのか
先頭から続く0の塊を指すのか不明でしょ
> 3つ以上並ぶ部分
が強欲なのか?欲張りでいいのか?が不明 >>511 さんの質問だね

532:デフォルトの名無しさん
22/09/13 23:09:06.59 G28B9gdh.net
>>519
訂正、>>510さんの質問

533:デフォルトの名無しさん
22/09/13 23:10:13.89 aae9uQ50.net
みなさんありがとうございます!
できそうな正規表現がありうれしいです。
すみませんが今手元に環境がないため明日動作させて確認します。

534:デフォルトの名無しさん
22/09/13 23:20:09.73 aae9uQ50.net
そして自分でも要件を言葉にできておらず申し訳ありません
みなさんに質問いただいて初めて気付きましたが、
先頭及び末尾が0であった場合、そこから連続する0は除外する ができると一番望ましいです。
00001200034000

000012-34000
となります。
返信遅くなりすみません。

535:デフォルトの名無しさん
22/09/13 23:44:59.39 G28B9gdh.net
(?<!^)(?>0{3,})(?!$)
未test
最初のマッチだけ置換は以下
URLリンク(social.technet.microsoft.com)

536:デフォルトの名無しさん
22/09/14 00:51:16.34 4SNfctPQ.net
>>518
あかんすね…
^(0*)((0{0,2}[1-9])+)0{3,}([1-9]\d*)$ --> $1$2-$4
これはどーでしょう?

537:デフォルトの名無しさん
22/09/14 05:23:58.73 E5sTi1VY.net
([1-9])0000*([1-9][0-9]*)
$1-$2

538:デフォルトの名無しさん
22/09/14 09:12:22.80 Kn3Wl+2J.net
(?<=[1-9])(?>000+)(?!$)(.+)$
-$1

539:デフォルトの名無しさん
22/09/14 09:38:59.41 s0UMl1ds.net
(^[^0].*?)0{3,}([^0].*?$)
$1-$2

540:デフォルトの名無しさん
22/09/14 10:42:18.62 6Qq1IObP.net
>>524,525,526
>>523,527

541:デフォルトの名無しさん
22/09/14 19:22:12.74 +0SwTq6N.net
508です。
沢山の案ありがとうございました、本当に助かりました。
一通り試して正しく動くものは沢山あったのですが、
以下の方式で解決させていただきました。
$reg=[regex]'([1-9])0000*([1-9][0-9]*)'
$reg.Replace($str,'$1-$2',1)
また、上記の案以外もこんな解決方法があるのかととても勉強になりました。
そして自分が要件をまとめられてなかったことにも反省いたしました。
今後はこちらで回答する側になれるよう、再度勉強いたします。
重ね重ね本当にありがとうございました。

542:デフォルトの名無しさん
22/09/14 19:57:00.91 b2aEm1i9.net
回答にある正規表現は置換回数を指定できない置換方法でも大丈夫
置換回数に1を指定する方法でやるなら単に ([1-9])0000*([1-9]) でもいい

543:デフォルトの名無しさん
22/09/14 22:22:31.78 +0SwTq6N.net
>530
確かに、教えていただいたこともりもりにしてしまいましたが
わざわざ[1-9]のあとに[0-9]を入れている意味がないですね…。
ご指摘ありがとうございます。

544:デフォルトの名無しさん
22/09/18 12:56:41.18 QaJ1iFM2.net
githubで結構探したんですがそれっぽいのが見つからず、お力お貸しください。
●Regular Expressionの使用環境
AutoHotKey1.1系
●検索か置換か?
置換
●説明
2つのクォーテーションマークに囲まれたパスのうち、1つ目(app.exe)を削除したい。
囲まれたパス同士は半角スペースで接続される。
●対象データ
"D:\Dir_Path\_app.exe" "D:\Dir_Path\_script.ahk"
^^^^^^^^^^^^^^^^^^^^^^^
●希望する結果
"D:\Dir_Path\_script.ahk"

545:デフォルトの名無しさん
22/09/18 16:16:05.56 wjpqonb4.net
>>532
URLリンク(regex101.com)

546:デフォルトの名無しさん
22/09/18 19:20:15.15 /uA/jgNo.net
>>533
ありがとうございますめちゃくちゃシンプルでした!あとこのregexサービスいいですね
".*"\s だと構文エラー吐きました
置換関数内(””の中)で”がうまく扱えないので頑張ってみます。

547:デフォルトの名無しさん
22/09/18 21:26:30.42 CbZe8FP4.net
"を
\"

\x22
に置き換えて試してみてわ

548:デフォルトの名無しさん
22/09/19 16:41:30.36 4iw9Mtek.net
>>535
ありがとうございます、いけました
(ついでに””も削除)
\x22.*\x22\s|\x22

549:デフォルトの名無しさん
22/09/20 02:58:09.09 94I1wBUa.net
二重引用符のエスケープは重ねて""だな
"".*""\s

550:デフォルトの名無しさん
22/10/29 13:09:46.30 ec13kmtS.net
●Regular Expressionの使用環境
PCRE2
●検索か置換か?
検索
●説明
(..[\0@-g]\0){147}などを高速に検索したい
●対象データ
メガ単位のバイナリファイル(リトルエンディアン)
●希望する結果
説明は一例なので前中後にリテラルパターンが入る事もありますが(16KiBを越える事も)、固定長で
一定範囲だが不明な32bit値(0または0x00400000~0x00670000付近)を含むブロック位置を列挙したいです
現状PCRE2で検索は出来ていますが、Intel Hyperscanだと
util/determinise.h:determinise:162:succ_id 16383 >


551:= state_limit 16383 ng_mcclellan.cpp:buildMcClellan:590:state limit exceeded rose_build_add.cpp:addOutfix:1779:could not build as either an NFA or a DFA ng.cpp:addGraph:507:could not compile component 0 with 592 vertices と言われて説明の例に限っては正規表現のコンパイルすら不可能です 32bit値は4バイト境界に限りませんが、ブロック先頭は4バイト境界なのでそこから高速化したいのですが 「(?>....)*?\K」を接頭しようとするとPCRE2_ANCHOREDはJITで使えませんし、そもそも遅くなるようです 今のところプログラム側でオフセットが4バイト境界のみを拾い、次の検索開始もアライメントしています コールアウトもお察し…こういったパターンに適した書き方、又はCライブラリが有れば教えて欲しいです



552:デフォルトの名無しさん
22/10/29 19:31:13.26 9Ey1MUJ8.net
>>538
\0@って何?
\c@でNULL文字検索の意味ではないの?

553:デフォルトの名無しさん
22/10/29 19:42:35.80 ec13kmtS.net
>>539
文字クラス[\0@-g]なので表記を統一するなら[\x00\x40-\x67]になります

554:デフォルトの名無しさん
22/10/30 10:24:48.15 dZd+t5oq.net
スプレッドシートで20221030と入力されている数字を日付の表記?2022/10/30なのか10/30/2022なのかわからないけどDATEDIF関数に使える形に置換する正規表現ってどう書きますでしょうか


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch