0

文字列から key=value 項目を抽出する正規表現を作成しようとしました。値文字列には、引用符とスペースがあってもなくてもかまいません (文字列型または数値型)。

文字列は次のようになります。

VAR key = 'value in string mode';
VAR key = 34;
VAR key=3.3;
VAR key='another value without empty spaces between =';

キーと値を抽出したい。

私は開発していましたが、間違っています。

VAR \@(\w+)\s?\=\s?\'?([\w]+)\'?\;
4

3 に答える 3

1

問題は、単語の文字のみ\wに一致するため、スペースも記号も一致しないことです。これを試してください(デモ):=

VAR (\w+)\s?=\s?'?([^']+)'?;
于 2013-03-11T21:38:58.113 に答える
1

その人は仕事をするべきです:

^VAR ([^ =]+) ?=[ ']*([^']+)'?;$
于 2013-03-11T21:37:39.200 に答える
0

これにより、ルックアラウンド動作を使用して、一重引用符内のすべてのデータが取得されます。

(?<=').+?(?=')

これにより、キー名が取得されます。

(?<=VAR )[a-zA-Z0-9. ]+(?=\=)
于 2013-03-11T21:53:23.707 に答える