0

@key='value'正規表現を使用して、このような文字列をキーと値に分割したいと思います。

私の正規表現はです[^@'=]+[^'=]。キーと値の長さが1より大きい場合、出力は良好ですが、長さが1文字しかない場合、出力が正しくない場合があります。

誰かが私の正規表現の改善を提案できますか?

4

3 に答える 3

1

キーと値を取得したい場合は、次のことを試してみてください。

/^@([^=]+)='([^']+)'$/

次に、キーが$ 1に、値が$2になります。

編集:

私はあなたがしていることを理解していると思います。違いを確認するために、正規表現を変更してください[^@'=]+。ただし、使用している言語とサンプルコードを教えてくれない限り、サポートを提供することはできません。

于 2012-06-26T16:16:32.287 に答える
1
^@[A-Za-z0-9]+\s*=\s*'[A-Za-z0-9\s]+'

This captures 
@Key = 'value'
@key='value' 
@k = 'value'

etc..
于 2012-06-26T16:34:09.497 に答える
0
\A@([^=]+)='([^']+)'  

正規表現として機能しますが、アポストロフィのエスケープは考慮されません。これは2つのキャプチャグループです...\Aは文字列の開始を示します...次に@、次にグループ....(not = 1つ以上)='Group(not')の後に'

于 2012-06-26T16:14:49.153 に答える