[過去ログ] Regular Expression(正規表現) Part16 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
317: 298 2022/07/01(金)19:04 ID:FKzEqydA(12/16) AAS
(?<=店)[^〒]*?〒\d{3}-\d{4}\s++
これでほぼ出来そうです。 ありがとうございます。
318: 298 2022/07/01(金)19:10 ID:FKzEqydA(13/16) AAS
(?<=店)[^〒]*?〒\d{3}-\d{4}\s++
$1,$2
ちなみに、これって$1,$2という変数を使ってますよね?
(?<=店)[^〒]*?〒\d{3}-\d{4}\s++
この文のドコで代入してるのでしょうか?
319: 2022/07/01(金)19:16 ID:TWCq9rfx(1) AAS
テンプレをヤイヤイいうだけの奴わろたわw
320(1): 2022/07/01(金)19:27 ID:omlO1tMt(1) AAS
ページからならjsでやったら?って感じの話しだな
外部リンク:pastebin.com
321: 2022/07/01(金)19:30 ID:23LeTIBQ(1) AAS
xy問題
322(1): 元 298様専用の便利屋 2022/07/01(金)19:51 ID:6Nj9t6DP(2/2) AAS
住所からアニメイトの同志だと思いご協力させて頂きましたがアニメイトではなくドンキだと分かったので
すみませんがこれ以上ついて行くことは出来ません・・ 短い間でしたがありがとうございました、さよなら
323: 298 2022/07/01(金)21:06 ID:FKzEqydA(14/16) AAS
>>322
どうもです。 了解しました。
.+だと文字が何個あってもいいよ、です。
こういうので、
文字でも記号でも改行でも何個あってもいいよ、はないでしょうか?
あるとすれば、
店「」+住所
を、
,
に置換すればいいだけの話なんだけど。
324: 2022/07/01(金)22:01 ID:TkUsKSE8(1/2) AAS
.(ピリオド)は改行コードを除く任意の1文字にマッチする
つまり.*や.+だと改行のところでストップするということ
325: 2022/07/01(金)22:28 ID:oUsXu5GC(1/3) AAS
ピリオドはmオプションつけると改行にもマッチするやで
mオプションがついてるかは環境と指定したオプションによるやで
326: 2022/07/01(金)22:36 ID:TkUsKSE8(2/2) AAS
mオプションじゃなくてsオプションなのでは?
327: 2022/07/01(金)22:50 ID:oUsXu5GC(2/3) AAS
調べてきた
mオプションはRuby、oniguruma系、Meryはこれのはず
sオプションなのはPerl系
Notepad++/SciTEは専用オプションがある
らしい、やってみて確かめたほうがいいね
328: 298 2022/07/01(金)23:07 ID:FKzEqydA(15/16) AAS
ありがとうございます。では、
店.+東京都
に、mオプションを付けるとするとどう書けばいいのですか?
↓にはそれ系の記載がありません。
外部リンク[html]:murashun.jp
外部リンク:userweb.mnet.ne.jp
329(1): 2022/07/01(金)23:25 ID:oUsXu5GC(3/3) AAS
Notepad++のことならGUIのダイアログの左下の右に「.は改行と一致」てのがあるじゃろ
330: 298 2022/07/01(金)23:40 ID:FKzEqydA(16/16) AAS
>>329
ありがとうございます。Notepad++で、「.は改行と一致」にチェックをいれて、
店.+東京都
,
で、次を検索でポチると、
最初の東京都ではなく、最後の東京都、つまりほぼ全文を選択してしまいます。
331: 2022/07/02(土)00:04 ID:BdV6t7uW(1) AAS
正規表現の基本は強欲
なるべく長い文字列にマッチしようとする
332: 2022/07/02(土)09:05 ID:mrmEg2+h(1/2) AAS
> 基本は強欲
20年このスレにいて初めて知りました
333: 2022/07/02(土)09:58 ID:At3W7bIA(1/2) AAS
20年正規表現使ってて強欲すぎて困ったことないの?
※ 用語として強欲はあまりいい意味には使わないから個人的には貧欲の方がいいなぁ
334(1): 2022/07/02(土)10:08 ID:N6Y3zR8M(1) AAS
ひんよく? 貧
どんよく 貪欲
335: 2022/07/02(土)10:24 ID:ophljRqK(1) AAS
そんなとっくに概出のこと言われても困ります
336(1): 2022/07/02(土)12:38 ID:mrmEg2+h(2/2) AAS
貧欲の動作は考えてみればすごく非効率な気がしますね
10万文字の文章に対して「.*」を使ったら10万文字の末尾まで食ってから戻ってきますからね
337: 2022/07/02(土)13:18 ID:At3W7bIA(2/2) AAS
>>334
すまん、素で間違ってたわ... orz
338: 2022/07/02(土)15:23 ID:+K04BJMF(1/4) AAS
*+ 強欲 ++ 最大一致させたらバックトラックしない
* 欲張り + 最大一致させた後、残りの式が不一致になったらバックトラックする
*? 無欲 +? 欲張りと逆。最小一致後にバックトラック
バックトラック
条件を満たす範囲で探索
・欲張りは1文字放棄
・無欲は1文字追加
して試行する
339: 298 2022/07/02(土)18:24 ID:rrBNdWeF(1/5) AAS
てか、↓の文法的解説をできる方はこのスレにはいないのでしょうか?
(?<=店)[^〒]*?〒\d{3}-\d{4}\s++
340(2): 2022/07/02(土)18:51 ID:+K04BJMF(2/4) AAS
(?<=店) 戻り読み。式(店)と次の文字の「間」の位置に一致。abcに対し(?<=ab)ならbとcの間に一致する。アンカー(^$)と同様
[^〒]*? 「〒」以外の文字に最小一致(無欲)
〒 「〒」の文字
\d{3}-\d{4} 「数字3つ」「-」「数字4つ」
\s++ 「\s」に最大一致(強欲)
341: 298 2022/07/02(土)18:58 ID:rrBNdWeF(2/5) AAS
>>340
ありがとうございます。
$1に(?<=店)を代入しているのはなんとなく理解できるのですが、住所の$2にはどの部分で代入しているのでしょうか?
342(1): 2022/07/02(土)19:30 ID:UTWJe5+B(1/2) AAS
[^〒]*?〒は最小量指定子使わないで、[^〒]*〒でよいのでは?
この*は0回以上の「〒以外」の文字にマッチだから、貪欲であっても貪欲でなくても、結局一番初めに出てくる「〒」手前までしかマッチできない。
343: 2022/07/02(土)19:38 ID:UTWJe5+B(2/2) AAS
>>336
貪欲のほうがコストが常にかかるかというとそうじゃない。
場合によっては非貪欲のほうが大量にバックトラックが発生して計算コストかかることもある。
344(1): 298 2022/07/02(土)19:41 ID:rrBNdWeF(3/5) AAS
AA省
345: 298 2022/07/02(土)19:42 ID:rrBNdWeF(4/5) AAS
つまり、2は文法的に間違ってる、ってことですかね?
346(1): 298 2022/07/02(土)19:45 ID:rrBNdWeF(5/5) AAS
てか、Notepad++はカシコイから、
置換文字列→ $1,$2
を、
置換文字列→ ,
と、置き換えて処理してるんですかね?
上下前次1-新書関写板覧索設栞歴
あと 656 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.028s