Regular Expressionスレです。
質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。
前スレ
Regular Expression(正規表現) Part15
https://mevius.5ch.net/test/read.cgi/tech/1568640311/
次スレは>>980宜しく
天ぷら等>>2以降
Regular Expression(正規表現) Part16
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2021/11/03(水) 19:50:01.71ID:ebAE+z9+256デフォルトの名無しさん
2022/05/14(土) 05:36:59.01ID:NJOQ17Ts テンプレ使っているようでテンプレ無視して実例挙げず
タブ区切りのはずが何故かカンマ+タブの区切りになっているがその説明も無し
タブ区切りのはずが何故かカンマ+タブの区切りになっているがその説明も無し
257デフォルトの名無しさん
2022/05/14(土) 08:03:49.09ID:qR2dE/b7 本当に タブ+カンマ にしたいとしても俺なら
^(.*?)\t(.*?)\t・・・(.*)$
$3\t,$8\t,$1\t・・・
って書くかな
^(.*?)\t(.*?)\t・・・(.*)$
$3\t,$8\t,$1\t・・・
って書くかな
258デフォルトの名無しさん
2022/05/14(土) 09:56:07.44ID:/Fl6kBO1 俺が作るなら [^\t]* を使って誤爆の可能性を潰しておく
列が31以上ある異常データのときに置換しなくする
列が31以上ある異常データのときに置換しなくする
259デフォルトの名無しさん
2022/05/14(土) 10:21:31.73ID:bJIgpLv6 処理対象ファイルが数十個あるとかなら別だけど、表計算ソフトや対応エディタでサクっと入れ替えた方が早そう
260デフォルトの名無しさん
2022/05/14(土) 11:56:38.01ID:/Fl6kBO1261デフォルトの名無しさん
2022/05/16(月) 18:46:22.01ID:nBhW9usr 探している正規表現の学習サイトがあります。
ネットスラング、小説などの蘊蓄を題材にした問題が置いてあるサイトです。
AAが問題の解説を行なっていた記憶があります
UIはシンプルながら、メタ文字から始まり、後方参照などの発展的な部分、総括したチャレンジ問題など結構ボリュームがある問題集でした。
久しぶりに見にいきたかったのですが、どうにも見つからず、
どなたかご存知でしたら教えていただけると幸いです。
よろしくお願いします。
ネットスラング、小説などの蘊蓄を題材にした問題が置いてあるサイトです。
AAが問題の解説を行なっていた記憶があります
UIはシンプルながら、メタ文字から始まり、後方参照などの発展的な部分、総括したチャレンジ問題など結構ボリュームがある問題集でした。
久しぶりに見にいきたかったのですが、どうにも見つからず、
どなたかご存知でしたら教えていただけると幸いです。
よろしくお願いします。
262デフォルトの名無しさん
2022/05/24(火) 04:21:55.25ID:SL15aOsO 質問させてください。
荒らし対策に「読点2回」を指定するNG表現を作ってみたのですが、一応機能しました
(.*\、.*\n*){2}
上記はもっと簡略化できるでしょうか?
荒らし対策に「読点2回」を指定するNG表現を作ってみたのですが、一応機能しました
(.*\、.*\n*){2}
上記はもっと簡略化できるでしょうか?
263デフォルトの名無しさん
2022/05/24(火) 04:27:32.12ID:7Wh7VSQ0 、.*?、
264デフォルトの名無しさん
2022/05/24(火) 04:43:45.06ID:SL15aOsO265デフォルトの名無しさん
2022/05/24(火) 05:20:15.74ID:SL15aOsO すみません、ありがとうございました。
266デフォルトの名無しさん
2022/05/25(水) 21:16:43.73ID:rVRUpzpa 自分が書いた正規表現を半年後くらいに見たら
何の処理なのか思い出せない。
正規表現って便利だが、そう言う点が唯一のデメリットだよな。
何の処理なのか思い出せない。
正規表現って便利だが、そう言う点が唯一のデメリットだよな。
267デフォルトの名無しさん
2022/05/25(水) 21:33:08.27ID:JiQQrvQ9 >>264
(10文字以上、){2,}
(10文字以上、){2,}
268デフォルトの名無しさん
2022/05/25(水) 22:10:02.21ID:SBYC3EV0 (?#何の処理)
269デフォルトの名無しさん
2022/05/26(木) 10:08:16.60ID:Nn08GFXz ●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
お願いします
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
お願いします
270デフォルトの名無しさん
2022/05/26(木) 10:11:53.48ID:Nn08GFXz >>269
すいません、これだと「example.com$でいいだろ」になりますね
バラバラなURL、つまり
●対象データ
www.example.com
hoge.www.test.com
hoge.hoge.www.foo.com
●希望する結果
example.com
test.com
foo.com
でお願いします…
すいません、これだと「example.com$でいいだろ」になりますね
バラバラなURL、つまり
●対象データ
www.example.com
hoge.www.test.com
hoge.hoge.www.foo.com
●希望する結果
example.com
test.com
foo.com
でお願いします…
271デフォルトの名無しさん
2022/05/26(木) 10:34:55.49ID:6qaNDFBW powershellでの書き方は分からんが
[^.]++\.com$
[^.]++\.com$
272デフォルトの名無しさん
2022/05/26(木) 10:51:21.71ID:Ax+O2qu3 >>271
それで得られるの.comドメインだけじゃね
それで得られるの.comドメインだけじゃね
273デフォルトの名無しさん
2022/05/26(木) 11:26:16.23ID:JFz3AkL/ (?m:((?:[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]*)\.[a-zA-Z]{2,})$)
274デフォルトの名無しさん
2022/05/26(木) 13:28:50.78ID:DqYj7elt [a-zA-Z0-9]
って、何かもっと短いパターンに置き換えられないのかな?
って、何かもっと短いパターンに置き換えられないのかな?
275デフォルトの名無しさん
2022/05/26(木) 13:51:27.22ID:Nn08GFXz276デフォルトの名無しさん
2022/05/26(木) 14:03:59.49ID:Ax+O2qu3 >>274
/S
/S
277デフォルトの名無しさん
2022/05/26(木) 14:08:45.47ID:gYa8SY15278デフォルトの名無しさん
2022/05/26(木) 14:26:21.96ID:SI03/myz 結局太古からの文字クラスが役に立つよな
279デフォルトの名無しさん
2022/05/26(木) 14:57:41.65ID:0Pd9G99m 5ch.net
2345.com
2345.com
280デフォルトの名無しさん
2022/05/26(木) 19:34:14.75ID:DerQuI+6 8823
281デフォルトの名無しさん
2022/06/15(水) 16:12:07.21ID:D17rKkfp Pythonで、下記のような仕組みを作りたいと思っています。
1 テキストを入力する。
2 あらかじめ用意してある複数の正規表現のパターンでテキストを検索し、
それぞれのパターンにマッチする部分のテキストを色分けする。
3 それぞれの色ごとに、別々の処理をする。
こう言う表示をするためのフロントエンドというか、ライブラリというか、
そう言うものはないでしょうか。
例えば、VBAなら、エクセルやWordの文字プロパティを操作すればできると思うのですが、
そう言うもののPython版というか…
1 テキストを入力する。
2 あらかじめ用意してある複数の正規表現のパターンでテキストを検索し、
それぞれのパターンにマッチする部分のテキストを色分けする。
3 それぞれの色ごとに、別々の処理をする。
こう言う表示をするためのフロントエンドというか、ライブラリというか、
そう言うものはないでしょうか。
例えば、VBAなら、エクセルやWordの文字プロパティを操作すればできると思うのですが、
そう言うもののPython版というか…
282デフォルトの名無しさん
2022/06/15(水) 17:05:28.57ID:GqhFDJ5g >>281
スレチ
スレチ
283デフォルトの名無しさん
2022/06/15(水) 20:56:26.63ID:bRSTMa0S こういうの不思議なんだけど、
仕組みを作りたいと思っていて、ライブラリやフレームワークすら選べてないのに、
なんで使用言語は決まってるんだろうか
仕組みを作りたいと思っていて、ライブラリやフレームワークすら選べてないのに、
なんで使用言語は決まってるんだろうか
284デフォルトの名無しさん
2022/06/15(水) 21:12:53.05ID:74xVOU49 そのライブラリはlispとprologとVHDLしかありませんって言われたら困るし
285デフォルトの名無しさん
2022/06/15(水) 21:17:39.12ID:bRSTMa0S そしたらその言語選ぶだけじゃないかな
286デフォルトの名無しさん
2022/06/16(木) 02:58:48.52ID:5RJuUFJv JSで作ってブラウザ上で動かすのがよさそう
287デフォルトの名無しさん
2022/06/24(金) 15:59:53.62ID:P24pDyi3 ●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
python3
●検索か置換か?
検索
●説明
START~次のSTARTの直前までをマッチングさせたい
START含む行から文字列足して行けば同じ事は出来るんですが正規表現ではどのように書くのか分からないのでお願いします
●対象データ
START 1: abcd
hoge
fuga
START 2: efgh
hoge hoge
fuga fuga
piyo piyo
●希望する結果
START 1: abcd\nhoge\nfuga
288デフォルトの名無しさん
2022/06/24(金) 16:36:46.31ID:ECcLc/fl >>287
START(?:(?!START)[\S\s])*
START(?:(?!START)[\S\s])*
289デフォルトの名無しさん
2022/06/24(金) 16:39:49.07ID:P24pDyi3290デフォルトの名無しさん
2022/06/24(金) 18:26:54.64ID:0z9KCe6G template<>引数にはclassでない定数リテラルを指定できるのでtypenameのほうが名称としてしっくりくる
291デフォルトの名無しさん
2022/06/25(土) 08:38:53.00ID:hlZoB8IO Onigmoの非包含オペレータのバグFixが来た
Fix absence operator #163
https://github.com/k-takata/Onigmo/pull/163
こういうのをサラっと直してしまう人はカッコイイね、nomotoさんありがとう!
Fix absence operator #163
https://github.com/k-takata/Onigmo/pull/163
こういうのをサラっと直してしまう人はカッコイイね、nomotoさんありがとう!
292デフォルトの名無しさん
2022/06/25(土) 10:59:37.90ID:23CjKpU2293デフォルトの名無しさん
2022/06/28(火) 22:14:32.48ID:r8H2D3+U294デフォルトの名無しさん
2022/06/30(木) 19:21:01.41ID:EErfRwVa ●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)
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)
295デフォルトの名無しさん
2022/06/30(木) 19:55:03.39ID:5rlmwso+ ^(?:Error|Warn|Info)(?~^Error|^Warn|^Info)\(CODE-\d++\)
296デフォルトの名無しさん
2022/06/30(木) 20:03:45.67ID:VljocFtJ >>294
msg_type_re = r"(?:(?:Warn|Info|Error):)"
print(re.findall(rf"{msg_type_re}(?:(?!{msg_type_re}).)*?\(CODE-\d+\)", s, flags=re.S))
msg_type_re = r"(?:(?:Warn|Info|Error):)"
print(re.findall(rf"{msg_type_re}(?:(?!{msg_type_re}).)*?\(CODE-\d+\)", s, flags=re.S))
297デフォルトの名無しさん
2022/06/30(木) 20:43:19.23ID:WhOCvrbe ^(?:Error|Warn|Info):.*(?:\n\ \ .*)*?\(CODE-\d+\)
https://regex101.com/r/h3PLIu/1#TKStH49zfF1UDOMNbfx1RWny
https://regex101.com/r/h3PLIu/1#TKStH49zfF1UDOMNbfx1RWny
298デフォルトの名無しさん
2022/07/01(金) 08:10:56.97ID:FKzEqydA 秋葉原店
専門店
住所
〒101-0021 東京都千代田区外神田4丁目3-3
↑の文字列を、置換で、
「秋葉原店,東京都千代田区外神田4丁目3-3」
と成形したいです。
思うに、
検索に、「店~~~~~~東京都」
置換に、「,」
とすれば出来そうですが、
「~~~~~~」には何を入れればよいでしょうか?
専門店
住所
〒101-0021 東京都千代田区外神田4丁目3-3
↑の文字列を、置換で、
「秋葉原店,東京都千代田区外神田4丁目3-3」
と成形したいです。
思うに、
検索に、「店~~~~~~東京都」
置換に、「,」
とすれば出来そうですが、
「~~~~~~」には何を入れればよいでしょうか?
299298
2022/07/01(金) 08:20:24.06ID:FKzEqydA ようは、
「店」と「東京都」の間にあれば、改行を含み、どんな文字列が何個はいろうが、「,」に変えたいのです。
よろしくお願いします。
「店」と「東京都」の間にあれば、改行を含み、どんな文字列が何個はいろうが、「,」に変えたいのです。
よろしくお願いします。
300デフォルトの名無しさん
2022/07/01(金) 08:32:58.06ID:fIXdHuhM テンプレガン無視するな
ここはお前の為の便利屋じゃねぇよ
ここはお前の為の便利屋じゃねぇよ
301298様専用の便利屋
2022/07/01(金) 08:56:54.62ID:6Nj9t6DP 環境を言わない質問にはオーソドックスな正規表現で答えれば良いと思う
検索
(店)[\s\S]*(東京都)
置換
$1,$2
検索
(店)[\s\S]*(東京都)
置換
$1,$2
302298
2022/07/01(金) 17:16:41.56ID:FKzEqydA303デフォルトの名無しさん
2022/07/01(金) 17:18:10.65ID:wWlIpSvA 意地でもテンプレは使わない
304デフォルトの名無しさん
2022/07/01(金) 17:27:00.65ID:iqig0nNh スルーされにくいテンプレだから
スルーされてもいいんでしょう
スルーされてもいいんでしょう
305298
2022/07/01(金) 17:28:06.12ID:FKzEqydA306298
2022/07/01(金) 17:33:49.42ID:FKzEqydA >>303-304
すみません。 テンプレで質問すると、↓になります。
●Regular Expressionの使用環境
wzエディター10 64bit
●検索か置換か?
置換
●対象データ
秋葉原店
専門店
住所
〒101-0021 東京都千代田区外神田4丁目3-3
●希望する結果
秋葉原店,東京都千代田区外神田4丁目3-3
すみません。 テンプレで質問すると、↓になります。
●Regular Expressionの使用環境
wzエディター10 64bit
●検索か置換か?
置換
●対象データ
秋葉原店
専門店
住所
〒101-0021 東京都千代田区外神田4丁目3-3
●希望する結果
秋葉原店,東京都千代田区外神田4丁目3-3
307デフォルトの名無しさん
2022/07/01(金) 17:34:03.71ID:C/EjaQqR 別のエディタなりsed使え
308デフォルトの名無しさん
2022/07/01(金) 17:48:08.39ID:iqig0nNh309298
2022/07/01(金) 17:51:33.51ID:FKzEqydA >>308
ありがとうございます。しかしダメでした。
ありがとうございます。しかしダメでした。
310298
2022/07/01(金) 17:53:57.09ID:FKzEqydA しかし、
(.+店)[\s\S]*
ここまで削ると食いついてきます。
(.+店)[\s\S]*
ここまで削ると食いついてきます。
311デフォルトの名無しさん
2022/07/01(金) 17:58:53.83ID:Dqsnfi22 複数行な時点で環境限られるよね
312298
2022/07/01(金) 17:59:18.72ID:FKzEqydA ちなみに、Notepad++、Meryどちらも無料ですが、インストールするとするとどちらがよいでしょうか?
313298
2022/07/01(金) 18:08:28.54ID:FKzEqydA ちなみに、Notepad++、Meryどちらも無料ですが、インストールするとすると正規表現的にはどちらがよいでしょうか?
314デフォルトの名無しさん
2022/07/01(金) 18:09:36.54ID:C/EjaQqR (?<=店)[^〒]*?〒\d{3}-\d{4}\s++
,
キャプチャする必要無くね?
対象データの例が悪い
他に何件もあって〒が無い場合があったりすると誤マッチするはず
,
キャプチャする必要無くね?
対象データの例が悪い
他に何件もあって〒が無い場合があったりすると誤マッチするはず
315298
2022/07/01(金) 18:15:22.87ID:FKzEqydA >>314
ありがとうございます。しかし、 (?<=店) これにすら食いつきません。
ありがとうございます。しかし、 (?<=店) これにすら食いつきません。
316298
2022/07/01(金) 18:58:55.44ID:FKzEqydA Notepad++をインストールしました。
で、やりたいことは、
https://www.donki.com/store/shop_list.php?bsns=&pref=13
ここから、べーっとマウスでコピペして、
Notepad++に貼り付けて、店舗名,住所のcsvファイルを作りたいのです。
で、やりたいことは、
https://www.donki.com/store/shop_list.php?bsns=&pref=13
ここから、べーっとマウスでコピペして、
Notepad++に貼り付けて、店舗名,住所のcsvファイルを作りたいのです。
317298
2022/07/01(金) 19:04:57.22ID:FKzEqydA (?<=店)[^〒]*?〒\d{3}-\d{4}\s++
これでほぼ出来そうです。 ありがとうございます。
これでほぼ出来そうです。 ありがとうございます。
318298
2022/07/01(金) 19:10:09.57ID:FKzEqydA (?<=店)[^〒]*?〒\d{3}-\d{4}\s++
$1,$2
ちなみに、これって$1,$2という変数を使ってますよね?
(?<=店)[^〒]*?〒\d{3}-\d{4}\s++
この文のドコで代入してるのでしょうか?
$1,$2
ちなみに、これって$1,$2という変数を使ってますよね?
(?<=店)[^〒]*?〒\d{3}-\d{4}\s++
この文のドコで代入してるのでしょうか?
319デフォルトの名無しさん
2022/07/01(金) 19:16:15.59ID:TWCq9rfx テンプレをヤイヤイいうだけの奴わろたわw
320デフォルトの名無しさん
2022/07/01(金) 19:27:43.82ID:omlO1tMt ページからならjsでやったら?って感じの話しだな
https://pastebin.com/M6LqV15b
https://pastebin.com/M6LqV15b
321デフォルトの名無しさん
2022/07/01(金) 19:30:02.45ID:23LeTIBQ xy問題
322元 298様専用の便利屋
2022/07/01(金) 19:51:17.10ID:6Nj9t6DP 住所からアニメイトの同志だと思いご協力させて頂きましたがアニメイトではなくドンキだと分かったので
すみませんがこれ以上ついて行くことは出来ません・・ 短い間でしたがありがとうございました、さよなら
すみませんがこれ以上ついて行くことは出来ません・・ 短い間でしたがありがとうございました、さよなら
323298
2022/07/01(金) 21:06:43.33ID:FKzEqydA >>322
どうもです。 了解しました。
.+だと文字が何個あってもいいよ、です。
こういうので、
文字でも記号でも改行でも何個あってもいいよ、はないでしょうか?
あるとすれば、
店「」+住所
を、
,
に置換すればいいだけの話なんだけど。
どうもです。 了解しました。
.+だと文字が何個あってもいいよ、です。
こういうので、
文字でも記号でも改行でも何個あってもいいよ、はないでしょうか?
あるとすれば、
店「」+住所
を、
,
に置換すればいいだけの話なんだけど。
324デフォルトの名無しさん
2022/07/01(金) 22:01:19.33ID:TkUsKSE8 .(ピリオド)は改行コードを除く任意の1文字にマッチする
つまり.*や.+だと改行のところでストップするということ
つまり.*や.+だと改行のところでストップするということ
325デフォルトの名無しさん
2022/07/01(金) 22:28:36.91ID:oUsXu5GC ピリオドはmオプションつけると改行にもマッチするやで
mオプションがついてるかは環境と指定したオプションによるやで
mオプションがついてるかは環境と指定したオプションによるやで
326デフォルトの名無しさん
2022/07/01(金) 22:36:48.49ID:TkUsKSE8 mオプションじゃなくてsオプションなのでは?
327デフォルトの名無しさん
2022/07/01(金) 22:50:04.22ID:oUsXu5GC 調べてきた
mオプションはRuby、oniguruma系、Meryはこれのはず
sオプションなのはPerl系
Notepad++/SciTEは専用オプションがある
らしい、やってみて確かめたほうがいいね
mオプションはRuby、oniguruma系、Meryはこれのはず
sオプションなのはPerl系
Notepad++/SciTEは専用オプションがある
らしい、やってみて確かめたほうがいいね
328298
2022/07/01(金) 23:07:58.13ID:FKzEqydA ありがとうございます。では、
店.+東京都
に、mオプションを付けるとするとどう書けばいいのですか?
↓にはそれ系の記載がありません。
https://murashun.jp/article/programming/regular-expression.html
https://userweb.mnet.ne.jp/nakama/
店.+東京都
に、mオプションを付けるとするとどう書けばいいのですか?
↓にはそれ系の記載がありません。
https://murashun.jp/article/programming/regular-expression.html
https://userweb.mnet.ne.jp/nakama/
329デフォルトの名無しさん
2022/07/01(金) 23:25:18.67ID:oUsXu5GC Notepad++のことならGUIのダイアログの左下の右に「.は改行と一致」てのがあるじゃろ
330298
2022/07/01(金) 23:40:21.16ID:FKzEqydA >>329
ありがとうございます。Notepad++で、「.は改行と一致」にチェックをいれて、
店.+東京都
,
で、次を検索でポチると、
最初の東京都ではなく、最後の東京都、つまりほぼ全文を選択してしまいます。
ありがとうございます。Notepad++で、「.は改行と一致」にチェックをいれて、
店.+東京都
,
で、次を検索でポチると、
最初の東京都ではなく、最後の東京都、つまりほぼ全文を選択してしまいます。
331デフォルトの名無しさん
2022/07/02(土) 00:04:51.39ID:BdV6t7uW 正規表現の基本は強欲
なるべく長い文字列にマッチしようとする
なるべく長い文字列にマッチしようとする
332デフォルトの名無しさん
2022/07/02(土) 09:05:29.52ID:mrmEg2+h > 基本は強欲
20年このスレにいて初めて知りました
20年このスレにいて初めて知りました
333デフォルトの名無しさん
2022/07/02(土) 09:58:17.51ID:At3W7bIA 20年正規表現使ってて強欲すぎて困ったことないの?
※ 用語として強欲はあまりいい意味には使わないから個人的には貧欲の方がいいなぁ
※ 用語として強欲はあまりいい意味には使わないから個人的には貧欲の方がいいなぁ
334デフォルトの名無しさん
2022/07/02(土) 10:08:22.29ID:N6Y3zR8M ひんよく? 貧
どんよく 貪欲
どんよく 貪欲
335デフォルトの名無しさん
2022/07/02(土) 10:24:47.75ID:ophljRqK そんなとっくに概出のこと言われても困ります
336デフォルトの名無しさん
2022/07/02(土) 12:38:50.86ID:mrmEg2+h 貧欲の動作は考えてみればすごく非効率な気がしますね
10万文字の文章に対して「.*」を使ったら10万文字の末尾まで食ってから戻ってきますからね
10万文字の文章に対して「.*」を使ったら10万文字の末尾まで食ってから戻ってきますからね
337デフォルトの名無しさん
2022/07/02(土) 13:18:37.74ID:At3W7bIA >>334
すまん、素で間違ってたわ... orz
すまん、素で間違ってたわ... orz
338デフォルトの名無しさん
2022/07/02(土) 15:23:26.16ID:+K04BJMF *+ 強欲 ++ 最大一致させたらバックトラックしない
* 欲張り + 最大一致させた後、残りの式が不一致になったらバックトラックする
*? 無欲 +? 欲張りと逆。最小一致後にバックトラック
バックトラック
条件を満たす範囲で探索
・欲張りは1文字放棄
・無欲は1文字追加
して試行する
* 欲張り + 最大一致させた後、残りの式が不一致になったらバックトラックする
*? 無欲 +? 欲張りと逆。最小一致後にバックトラック
バックトラック
条件を満たす範囲で探索
・欲張りは1文字放棄
・無欲は1文字追加
して試行する
339298
2022/07/02(土) 18:24:54.77ID:rrBNdWeF てか、↓の文法的解説をできる方はこのスレにはいないのでしょうか?
(?<=店)[^〒]*?〒\d{3}-\d{4}\s++
(?<=店)[^〒]*?〒\d{3}-\d{4}\s++
340デフォルトの名無しさん
2022/07/02(土) 18:51:12.29ID:+K04BJMF (?<=店) 戻り読み。式(店)と次の文字の「間」の位置に一致。abcに対し(?<=ab)ならbとcの間に一致する。アンカー(^$)と同様
[^〒]*? 「〒」以外の文字に最小一致(無欲)
〒 「〒」の文字
\d{3}-\d{4} 「数字3つ」「-」「数字4つ」
\s++ 「\s」に最大一致(強欲)
[^〒]*? 「〒」以外の文字に最小一致(無欲)
〒 「〒」の文字
\d{3}-\d{4} 「数字3つ」「-」「数字4つ」
\s++ 「\s」に最大一致(強欲)
341298
2022/07/02(土) 18:58:50.57ID:rrBNdWeF342デフォルトの名無しさん
2022/07/02(土) 19:30:02.98ID:UTWJe5+B [^〒]*?〒は最小量指定子使わないで、[^〒]*〒でよいのでは?
この*は0回以上の「〒以外」の文字にマッチだから、貪欲であっても貪欲でなくても、結局一番初めに出てくる「〒」手前までしかマッチできない。
この*は0回以上の「〒以外」の文字にマッチだから、貪欲であっても貪欲でなくても、結局一番初めに出てくる「〒」手前までしかマッチできない。
343デフォルトの名無しさん
2022/07/02(土) 19:38:03.70ID:UTWJe5+B344298
2022/07/02(土) 19:41:17.46ID:rrBNdWeF てか、不思議なことに、
1、検索文字列→ (?<=店)[^〒]*?〒\d{3}-\d{4}\s++ 置換文字列→ ,
2、検索文字列→ (?<=店)[^〒]*?〒\d{3}-\d{4}\s++ 置換文字列→ $1,$2
で、同じ結果が出るんです
1、検索文字列→ (?<=店)[^〒]*?〒\d{3}-\d{4}\s++ 置換文字列→ ,
2、検索文字列→ (?<=店)[^〒]*?〒\d{3}-\d{4}\s++ 置換文字列→ $1,$2
で、同じ結果が出るんです
345298
2022/07/02(土) 19:42:31.78ID:rrBNdWeF つまり、2は文法的に間違ってる、ってことですかね?
346298
2022/07/02(土) 19:45:54.43ID:rrBNdWeF てか、Notepad++はカシコイから、
置換文字列→ $1,$2
を、
置換文字列→ ,
と、置き換えて処理してるんですかね?
置換文字列→ $1,$2
を、
置換文字列→ ,
と、置き換えて処理してるんですかね?
347デフォルトの名無しさん
2022/07/02(土) 19:46:39.19ID:+K04BJMF 面白いから見守るわw
348デフォルトの名無しさん
2022/07/02(土) 19:57:48.35ID:+K04BJMF349デフォルトの名無しさん
2022/07/02(土) 21:11:04.97ID:FJKEiIOc >>348
確かにマッチしない場合にバックトラックの発生を抑えるために強欲にするのはありだと思う。
ただ、PCREとかだと[^〒]*〒の場合、Auto Processが動作して勝手に強欲化するから書かなくてもいいはず。
今回のEditorはしらんけど。
確かにマッチしない場合にバックトラックの発生を抑えるために強欲にするのはありだと思う。
ただ、PCREとかだと[^〒]*〒の場合、Auto Processが動作して勝手に強欲化するから書かなくてもいいはず。
今回のEditorはしらんけど。
350デフォルトの名無しさん
2022/07/03(日) 11:46:22.30ID:DiSdIFQe 初心者のうちは強欲は使わないほうがいい気がする
そもそも鈍器のページから店名と住所を取り出すだけの正規表現を書く場合にキャプチャしない書き方や
バックトラックを抑制する書き方をする必要はない
「策士策に溺れる」になってるから質問者に何を教えるべきなのかもう一度考えるべし
そもそも鈍器のページから店名と住所を取り出すだけの正規表現を書く場合にキャプチャしない書き方や
バックトラックを抑制する書き方をする必要はない
「策士策に溺れる」になってるから質問者に何を教えるべきなのかもう一度考えるべし
351デフォルトの名無しさん
2022/07/03(日) 12:00:27.48ID:J9cIk4yD 貪欲禁止って*や+を使うなってことけ?
352デフォルトの名無しさん
2022/07/03(日) 12:44:06.06ID:HH+h1Cia possessiveのことだろ
353デフォルトの名無しさん
2022/07/03(日) 13:50:59.22ID:J9cIk4yD 手足をもぎ取られた気分や…
354デフォルトの名無しさん
2022/07/03(日) 14:32:42.77ID:nkFK6+7O355デフォルトの名無しさん
2022/07/03(日) 15:36:23.88ID:ZjFQgG61 > 使わないほうがいい気がする
「気がする」でついつい無駄コード書いちゃう強迫性不安障害の人かな?
> 「策士策に溺れる」になってるから質問者に何を教えるべきなのかもう一度考えるべし
底辺コーダーが良く使う言い訳
(俺に分かりやすい) 平易なやり方しか認めない!(`・ω・´)キリッ
「気がする」でついつい無駄コード書いちゃう強迫性不安障害の人かな?
> 「策士策に溺れる」になってるから質問者に何を教えるべきなのかもう一度考えるべし
底辺コーダーが良く使う言い訳
(俺に分かりやすい) 平易なやり方しか認めない!(`・ω・´)キリッ
356デフォルトの名無しさん
2022/07/03(日) 17:56:24.35ID:DiSdIFQe 正規表現を考えるときには複雑な情報を単純化する作業が必要になるんだがそういう意味では質問者のほうが才能がある
「店」と「東京都」という2つのキーワードさえ見つけられれば目的を果たせることを見抜いていた
それに対して回答者たちは単純だった依頼を複雑化させたあげく質問者を困らせ続けた
戻り読みを正規表現の先頭に置いてキャプチャを回避することが本当に処理量の軽減になっているのかも疑問
鈍器のページからテキストエディタで店名と住所を取り出すだけの作業に正規表現の高速化を考えるのはもはやコント
君らには問題を単純化する能力が足りないからその点を改善せよ
「店」と「東京都」という2つのキーワードさえ見つけられれば目的を果たせることを見抜いていた
それに対して回答者たちは単純だった依頼を複雑化させたあげく質問者を困らせ続けた
戻り読みを正規表現の先頭に置いてキャプチャを回避することが本当に処理量の軽減になっているのかも疑問
鈍器のページからテキストエディタで店名と住所を取り出すだけの作業に正規表現の高速化を考えるのはもはやコント
君らには問題を単純化する能力が足りないからその点を改善せよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【社会】40代以上のおじさん・おばさんは叩いてオッケーという風潮はなぜ加速したのか [七波羅探題★]
- 自分に自信がない女の子、陽キャ美容室で80cmのエクステを付けた結果wwwwwwwwwwwwwwwwwww [329329848]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【朗報】外務省局長、中国側の要求を断固拒否。「高市さんの答弁は日本政府の立場を変えるものではないし、撤回しない」 [519511584]
- 農林水産省「春頃にはコメ価格落ち着くのでは」新米の取引価格、過去最高を更新。 [256556981]
