2016-08-24 13 views
0

ファイル内の残りの文字列と一致する必要があります。正規表現と文字列の一致\ '

(2, \\'username\\', 

^\(\d+,\s\\{2}\'(\w+)\\{2}\', 

で、私のキャプチャグループに usernameをもたらす:私は次のように一致させることができます。しかし、私は楽観的

^\(\d+,\s\\{2}\'(\w+)\\{2}\',.* 

し、それを追加\\'とは何かを考えてみました

(2, \\'username\\', \\'pas$word\\', 2, \\'Name\\', \\'Name\\', \\'[email protected]\\', NULL, NULL, NULL, 0, TRUE, 9, FALSE), 

をキャプチャすること正規表現を拡張することができなかった、私も

^\(\d+,\s\\{2}\'(\w+)\\{2}\', [\w\d\s\\,)@.$']*\), 
を試してみました

でも一致するようにすることはできません

(2, \\'username\\', 'pas$word', 2, 'Name', 'Name', '[email protected]', NULL, NULL, NULL, 0, TRUE, 9, FALSE), 

明らかに、私は私の目の前にあるものが見当たりません。

+0

[ '\ D +、\ S * \\ {2} \ '(\ S +)\\ {2} \'、'](https://regex101.com/r/jV3xA3/1)?あるいは、あなたが提供した*文字列全体にマッチするつもりですか? –

+0

ありがとう、Wiktor。私は 'username'ではなく' \ w + 'に入れておくべきですが、' \ S + 'はよりクリーンです。しかし、私はまだ長い行に一致することはできません。 https://regex101.com/r/uY5bG8/1 –

+0

あなたの質問には、正確な要件、または特定のサンプル入力ごとに少なくとも予想される出力が不足しています。どうして '^'アンカーを使うのですか?あなたの質問はちょっとわかりません。 –

答えて

1

これは、\\'で始まり、\\'で始まる値が表示されたときに、行内の各文字列を取得します。

正規表現

\\{2}(\'\S*)\\{2}\' 
+0

そして、行の先頭にスローすると、最初に見つかった文字列が得られます(https://regex101.com/r/uY5bG8/2)。あなたの成功したキャストと私の本当の違いは、あなたがラインの始めにアンカー「^」を使用しなかったことです。私はなぜそれが私の中で壊れるべきかはわかりません。 –

関連する問題