私はそのような文字列を持っています:obj[attr1=val1 attr2=val2 attr3=val3]
オブジェクト名と属性を抽出する必要があります。
以前、次の正規表現を使用して JavaScript で同様のタスクを決定しました。
/^(\w+)(?:\[(\w+=\w+)(?:\s(\w+=\w+))*\])?$/
今、私はJavaで決めるのに苦労しています:
Pattern pathPattern = Pattern.compile("^(\\w+)(?:\\[(\\w+=\\w+)(?:\\s+(\\w+=\\w+))*\\])?$");
オブジェクト名と最初の属性だけを取得しています。Mather クラスは、記号 "*" を考慮せずに "()" のカウントに対応するグループ カウントを取得しているようです。
js regexp のように Java reg exp を動作させる可能性はありますか、それとも 2 段階の抽出を行う必要がありますか?
ありがとうございました