1javaプログラムでテキストを一行ずつ読み込んでSQL文がある行を検出してそのSQL文中から複数テーブル指定時にテーブル別名の無いがあるがチェックしてテーブル別名が無い行を検出したいです。正規表現でSQL文を検出するところまではできましだが、SQL文中からテーブル別名を指定してある行を検索する事ができません。t2;");こんな行がListの中に入ってるとして、出力したいのは2,3番目の行、つまりテーブル別名を指定してない行を検出したいです。{System.out.println(list.get(j));}}この後からとうすればいいかわかりませんどなたかご教授していただければ幸いです。有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。「FROMの次に来るであろう予約語」を列挙しておく必要があります。byの次に来るものなので「FROMの次」には当てはまりません。"|\\s+window|\\s+union|\\s+intersect|\\s+except|\\s+order|\\s+limit|\\s+offset|\\s+fetch|\\s+for|\\s*;)";他にもORACLE、SQLServerなど、それぞれ異なりますが、RDBMS毎に違いがあるという点をしめしたかっただけなので、以上2点だけにします。※以上2点、簡易的動作テストしか行っておらず、考えうる全ての組み合わせに対応できるかどうか未確認。その他にも・FROM句が何度出てきても良いように繰り返し検索するように変更。終わってないと検索してくれない場合があるので修正。無いものを抜き出したいのか(質問文の「テーブル別名を指定してない行を検出したい」や、コメント文の「テーブル別名が無いも(の)」)判らなくなってきたので、どちらでも対応できるように変更。AliasCountとNoAliasCountの値で適宜対応してください。10:13:20ソースを見て感動しました。本当にすごい方ですね。!!やっぱり完璧の検出する事は結構難しですね。おかげ様ですごく勉強になりました。頑張って完璧に出力できるようにします。本当に有難うございました。23:47:11本当に有難うございます、助かりました。22:21:54満足27pt一度には無理そうなので、FROM句要素の抜出と、要素内の調査の二段階にしています。(動作確認用出力の部分は、それぞれの部分が何をやっているかという確認が済んだら削除してください。00:06:00分かりやすいコード書いて頂き、有難うございます。すごく勉強になりました。こんな質問で、まだSQL文に対して詳しく知らない物で、、、よろしくお願いいたします。17時間前Youtubeのショート動画で、こんなのありますか。エクセルやワードでの、便利な操作を紹介したものです。