私はそのようなものを持っています:
[@parameter='value']
と
[@parameter]
そして、両方のケースを解析するために正規表現が必要です。最初に、2番目の唯一のパラメーターでパラメーターと値を返します。
今、私はそのようなものを持っています
"[@short-name='shorty']".match(/\[\@(.*)\=\'(.*)\'\]/)
これは
["[@short-name='shorty']", "short-name", "shorty"]
その素晴らしいですが、最初の場合にのみ、助けてください
編集:
おそらく2つの一致を1つに置き換えることができると思ったので、可能であれば、現在のソリューションを少し拡張することをお勧めします。
次のようなものに一致します:
PARENT//CHILD[@parameter='value']
また
PARENT//CHILD[@parameter]
また
PARENT//CHILD
戻る必要があります
[ parent, child, parameter, value ]
[ parent, child, parameter ]
[ parent, child ]
どうもありがとう!
編集2:
わかりました、それは簡単です
/([A-Z]+)\/\/([A-Z]+)(\[@([^=\]]*)(?:='(.*)'])?)?/
もっと簡単にできるなら、方法を教えてください