/ / javascript regex na porovnávanie atribútov v reťazci HTML - javascript, regex

javascript regex pre zodpovedajúce atribúty v reťazci HTML - javascript, regex

Môže sa niekto pozrieť na môj regulárny javascript a navrhnúť správny?

Snažím sa vybrať páry atribútov (názov / hodnota) v reťazci HTML / XML, ako je napríklad nasledujúce?

<unknowncustom:tag attrib1="XX" XX"" attrib2="YY" YY"" attrib3=ZZ""">/unknowncustom:tag>

SOME TEXT that is not part of any tag and should not be selected, name="XX", y="ee";

<custom:tag attrib1="XX" XX"" attrib2="YY" YY"" attrib3=ZZ""">/custom:tag>

Našiel som veľa riešení, ale žiadne sa nezdá byť spoľahlivé (vrátane tohto Regulárny výraz na extrahovanie atribútov značky)

Môj aktuálny regulárny výraz vyberie prvý pár atribútov, ale nedokáže zistiť, ako ho prinútiť vybrať všetky zodpovedajúce atribúty. Tu je regulárny výraz:

/<w*:?w*s+(?:((w*)s*=s*((?:(?:"[^"]*")|(?:"[^"]*")|[^>s]+))))[^>]*>/gim

Vďaka

odpovede:

1 pre odpoveď č. 1

Poďme na to:

/(w+)s*=s*(([""])(.*?)3|([^>s]*)(?=s|/>))(?=[^<]*>)/g

Regex na to nie je ideálny. Ak vaše atribúty obsahujú neobsadené uhlové zátvorky < > pravdepodobne to nebude fungovať.

dôkaz: http://regex101.com/r/dD4uT4