正規表現 Part5at TECH正規表現 Part5 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト600:デフォルトの名無しさん 09/01/29 01:52:27 >>599 それは非常に喜ばしいけれど、名前じゃないものが抽出されたり、名前が抽出されなかった時に どうするか考えてるの? そのデータをどうやって作ってるのかよくわからんが、ごちゃごちゃしたテキストしか存在しないの? 601:デフォルトの名無しさん 09/01/29 01:57:10 人名で7文字制限つけていいのかなぁ。外国人名なんか来た日にゃえらいことになりそうだが。 602:デフォルトの名無しさん 09/01/29 09:57:27 >>599 正規表現ってのは、 人間が生活しながら身に付ける区別みたいに複雑な物じゃなく、 字面だけで機械的に振り分けする物。 それが可能なデータでないなら、正規表現での抽出は諦めた方がいい。 既存のデータなら仕方ないけど、何等かの方法で生成してる物なら、 その上流で手を打たないと難しい。 603:586 09/01/29 22:51:11 レスどうもです たくさんのデータを一気に処理をするという感じではないので 失敗したら手動で訂正するので大丈夫です。 ちょっと補助的に便利になればという感じで 100件やったら半分でも正常に抽出できればそれでもOKです。 今↓のように書いてみましたがこれだと 123-0001 東京都**区**町10-10 日本太郎 03-0000-0000 東京都**区**町10-10 03-0000-0000 日本太郎 123-0001 上の2つは大丈夫なのですが、 日本太郎 123-0001 東京都**区**町10-10 03-0000-0000 だと抽出できなかったのですが、どこを訂正したらいいでしょうか? r = New Regex("((\d\d\d\-?\d\d\d\d|都|道|府|県)+?.+\n)*?(.*\n{1,5}?)(?<1>.{4,8})$\n.+?(\d\d\d\-?\d\d\d\d|都|道|府|県)*?\n?", _ RegexOptions.Multiline Or RegexOptions.IgnoreCase) よろしくお願いします。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch