@key='value'
正規表現を使用して、このような文字列をキーと値に分割したいと思います。
私の正規表現はです[^@'=]+[^'=]
。キーと値の長さが1より大きい場合、出力は良好ですが、長さが1文字しかない場合、出力が正しくない場合があります。
誰かが私の正規表現の改善を提案できますか?
@key='value'
正規表現を使用して、このような文字列をキーと値に分割したいと思います。
私の正規表現はです[^@'=]+[^'=]
。キーと値の長さが1より大きい場合、出力は良好ですが、長さが1文字しかない場合、出力が正しくない場合があります。
誰かが私の正規表現の改善を提案できますか?
キーと値を取得したい場合は、次のことを試してみてください。
/^@([^=]+)='([^']+)'$/
次に、キーが$ 1に、値が$2になります。
編集:
私はあなたがしていることを理解していると思います。違いを確認するために、正規表現を変更してください[^@'=]+
。ただし、使用している言語とサンプルコードを教えてくれない限り、サポートを提供することはできません。
^@[A-Za-z0-9]+\s*=\s*'[A-Za-z0-9\s]+'
This captures
@Key = 'value'
@key='value'
@k = 'value'
etc..
\A@([^=]+)='([^']+)'
正規表現として機能しますが、アポストロフィのエスケープは考慮されません。これは2つのキャプチャグループです...\Aは文字列の開始を示します...次に@、次にグループ....(not = 1つ以上)='Group(not')の後に'