0

書いたばかりの次のコードの出力を理解できません。グループの完全な値を文字列値で抽出しようとしています。

>> str1 = "CREATE TABLE TABLE1 (NAME VARCHAR, PHONE VARCHAR) as SELECT NAME, PHONE FROM SCHEMA1.ADDRESS"
>> pat1 = re.compile("CREATE TABLE .+ FROM (\w).+")
>> ret= pat1.search(str1)
>> ret.groups()
('S',)

値が。になることを期待していましたSCHEMA1。値全体を取得するにはどうすればよいですか?

なぜ私はこれをしているのですか?

さまざまなスキーマを対象としたDMLステートメントで満たされたファイルがあります。したがって、前述のファイルからDMLステートメントを使用してスキーマごとに個別のファイルを作成する必要があります。

4

1 に答える 1

2

あなたは書くつもりでした:

pat1 = re.compile("CREATE TABLE .+ FROM (\w+)\..+")

\w1文字のみをキャプチャします。ドットまでのすべての文字をキャプチャします。\.ドットを.+表し、行の残りの部分を表します(address)。

于 2012-11-06T20:02:13.967 に答える