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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
734
(1): 2018/11/26(月)03:08 ID:bvNwlvbS(1) AAS
Regex.Replace(str, @"\G ", "空");

でもいけるよ
735: 2018/11/26(月)06:49 ID:OBhrl1nm(1) AAS
>>734
・・・っ、すごい。サクラエディタとかでも使える。
\Gのありがたみ知らなかった。私は、まだまだ精進が足りないようだ。
736: 2018/11/27(火)00:09 ID:5gbDlA47(1) AAS
\Gを知らないのに正規表現を使いこなせるということはproxomitronのユーザーさんかな
737: 2018/11/28(水)15:10 ID:N4CCGDXj(1) AAS
\Gの使い方を覚えたら>>714が面白く感じるかもね
知ってれば今更感しかないが
738
(1): 2018/11/29(木)02:42 ID:Fz25AUlj(1) AAS
>>505-506
すごい

こういう書き込みが初心者の質問とその回答で埋もれてしまうのはもったいない
質問スレとは別に正規表現の本スレらしいスレがあるといいな
739: 2018/11/29(木)02:52 ID:rs9fzmaE(1) AAS
頑張ったなぁとは思うけど 外部リンク:regex101.com じゃあかんかったか?とも思う
というかリンク貼れんの? 外部リンク[info]:goo.gl
740: 2018/11/29(木)08:19 ID:nDdllTwV(1) AAS
自分で立てればいいのになんで他人頼みなの?
741: 2018/12/02(日)03:28 ID:s0yCsMa3(1) AAS
>>738
じゃあ俺が立てるわ、テンプレの準備にちょっとかかるが
742: 2018/12/08(土)16:06 ID:7G2k61ed(1/2) AAS
twitter.com/munesuk
enya_go/status/1071188833515954176
先輩w
743: 2018/12/08(土)20:04 ID:RNQqcEtu(1/2) AAS
アンド検索をしたいのですが、どう書けばいいでしょうか

^(?=.*あああ)(?=.*かかか).*$
このコードを見つけました

あああ と かかか の含まれる行がヒットします
ただ、ロジックがちょっとわかりません
先読みをつかっているのですが、先読み対象の語が指定されていません
これはどういうことでしょうか

分かりやすい解説サイトでもあれば教えてください
744
(2): 2018/12/08(土)20:32 ID:Dx33rAX6(1/2) AAS
このへんかな
>正規表現で論理積(AND)を実現する
>外部リンク:qiita.com

自分流のちょっと乱暴な理解解釈だと
1. (?=検索対象) は、この条件が満たされないと後続のマッチを調べない
2. (?=検索対処) 自体は、この条件が満たされてた時点である意味消滅したかのようにふるまう
って動きを取るような感じ

ちなみにAND検索ができるgrepツール(TresGrep)がどんな正規表現を組み立てるか調べてみたら
「xxx&yyy&zzz」

省3
745: 2018/12/08(土)20:35 ID:Dx33rAX6(2/2) AAS
あ、先読み対象の語は「^」だけで
「行頭から始まるという条件さえ満たせば何でもよい」と指定してる
746: 2018/12/08(土)22:19 ID:7G2k61ed(2/2) AAS
環境が分からない
何を検索したいのか分からない

>先読みをつかっているのですが、先読み対象の語が指定されていません

??? 指定されてないって何のことだろう、意味不明
正規表現うんぬんの前にまともな質問の仕方を学ぶべき
747
(1): 2018/12/08(土)22:26 ID:RNQqcEtu(2/2) AAS
>>744
先読み対象は行頭ということですね
^(?=.*あああ)
これだと意味としては
「あああの前に行頭が存在すればヒット」
ということになると思います

これってもう少しかみ砕いた表現にできませんか?
まだ、理解が追い付いてないです

行頭が存在すればヒットということは、「行の中にあああがあればヒット」と同じことですか?
748: 2018/12/08(土)23:05 ID:hZepSGXS(1) AAS
>>747
^は検索位置を示すもので、先頭を表す記号、
(?=)は先読みで検索開始位置を移動しないもの
つまり、
^(?=.*あああ)
は、先頭から(改行までの間に)文字列「あああ」がある場合
(先読みなのでマッチ後も次の検索開始位置はまだ先頭のまま)

よって
^(?=.*あああ)(?=.*かかか)
は、先頭から(改行までの間に)「あああ」があり、且つ先頭から「かかか」がある場合
省1
749
(2): 2018/12/09(日)06:54 ID:C3Qast1U(1/2) AAS
↑かっこを二つならべると、()と()という感じで、アンドになるんでしょうか?
あと
(?=)は先読みで検索開始位置を移動しないもの
の部分なんですが、検索開始位置を移動しないというのはどういうことでしょうか
?=キーワード
で設定した場合、キーワードの相対位置から前を検索する、という認識でした
750
(1): 2018/12/09(日)08:43 ID:UT294bNs(1) AAS
質問者は正規表現の基礎知識が足りてないと思われる
たとえるなら、(?=)の先読みは高校受験レベルで求められる英文法だとすると
質問者の場合は入門レベル(そもそもの基本ルールとか「.*」とか)の知識がごそっと抜けてる

なのでここまで出てきた説明を読んでもちんぷんかんぷんにしかならないのだろう
ちょっと遠回りになるけどちゃんと正規表現の基礎を理解したほうがいい
外部リンク:qiita.com
あたりを最終回(その4)まで読め
それでも理解できないなら、貴方には正規表現を扱うのは無理だからあきらめろ
751
(1): 2018/12/09(日)09:50 ID:vJutpfX/(1) AAS
>>749
()()でandになるわけではなく、()の次に()があるかどうかとなる(順序関係ができている)
^(a)(b)と書くと、abにはマッチするがaやbやbaにはマッチしない
これは、^(a)がマッチした時点で検索位置がaの次に移動しているためである
^(?=a)(b)と書くと、何もマッチしなくなる
これは先頭からaが見つかった場合、検索開始位置が移動しないため(?=a)を検索する前のまま(つまり先頭)になっている
次にbが先頭にあればいいわけだがそこにはaがあるからマッチしない
752: 2018/12/09(日)10:39 ID:bsA2M6bZ(1/3) AAS
ID:vJutpfX/

頭が良すぎて教えるのが下手なパターン
バカ語で話さないと通じないよ
753: 2018/12/09(日)10:51 ID:bsA2M6bZ(2/3) AAS
こんな最低限のこともググらず、自分で努力せずに人に聞くようなのに
教えてはいけないと思う、居ついてしまうからエサを与えないで欲しい
1-
あと 249 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.024s