[過去ログ] Regular Expression(正規表現) Part13©2ch.net (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
883(1): 2017/01/18(水)12:45 ID:Igfwm5uK(1/7) AAS
●Regular Expressionの使用環境
Java
●検索か置換か?
検索
●説明
最短の指定文字列の間の文字を複数条件で検索したい
a(.*?)b
c(.*?)d
e(.*?)f
これを1つにしたいんだが、
a(.*?)b|c(.*?)d|e(.*?)f 一致せず
(a|c|e)(.*?)(b|d|f) 一致せず
●対象データ
aあいうえおb
cかきくけこd
eさしすせそf
●希望する結果
あいうえお
かきくけこ
さしすせそ
おねがいします
884(1): 2017/01/18(水)13:02 ID:Igfwm5uK(2/7) AAS
補足
(a|c|e)(.*?)(b|d|f) 一致せず
これをやったのは最初にaにマッチした時は必ず次に最初にマッチするのはbだからです。cにマッチしたら次にマッチするのはd、eにマッチしたら次にマッチするのはf
対ではない他の文字列が先に出てくることはありません
886: 2017/01/18(水)13:15 ID:Igfwm5uK(3/7) AAS
>>885
ありがとうございます
説明不足すいませんabcdefのやつは実際は1文字じゃないんです
890: 2017/01/18(水)13:26 ID:Igfwm5uK(4/7) AAS
>>889
そうです!
895: 2017/01/18(水)15:07 ID:Igfwm5uK(5/7) AAS
>>888
試してみました
java.util.regex.PatternSyntaxException: Look-behind pattern matches must have a bounded maximum length near index 95:
と返ってきてしまいました。どういうこと?
897(1): 2017/01/18(水)16:15 ID:Igfwm5uK(6/7) AAS
a <div class=\"number\">
b </div><div class=\"name\">
c <div class=\"date\">.*?\\)
d \\.
e <div class=\"message\">
f </div></div>
です
可変長のやつを中で使ってはダメなのか!
901: 2017/01/18(水)21:24 ID:Igfwm5uK(7/7) AAS
>>898
コピーミスではないんですが間違ってましたか!
とりあえずエスケープもちゃんととって答えてくれたやり方やってみましたが正しく取れませんでした
自分の環境のせいかもしれません
キャプチャ括弧というのでやってみようと思います
何度も限定的な同じことを繰り返すから正規表現のほうが軽いかなと思ったんですけどhtmlパーサーってやつの方がいいみたいですね。それも検討してみます
どうもありがとうございました!
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.037s