正規表現を使用して ASPX ファイル内の属性値を検索する必要があります。
つまり、不正な HTML や HTML 関連の問題について心配する必要はありません。
特定の属性 (LocText) の値を見つける必要があります。引用符の中にあるものを取得したい。値内の <%=、<%#、<%$ などの ASPX タグは、この属性には意味がないため、その一部と見なされます。
私が始めた正規表現は次のようになります。
LocText="([^"]+)"
これはうまく機能し、結果テキストである最初のグループは、そこで許可されていない二重引用符を除くすべてを取得します (代わりに " ; を使用する必要があります)
ただし、ASPX ファイルでは一重引用符を使用できます。その場合、2 番目の正規表現を適用する必要があります。
LocText='([^']+)'
これら 2 つの正規表現を使用できますが、それらを接続する方法を探しています。
LocText=("([^"]+)"|'([^']+)')
これも機能しますが、不要な数のグループを作成しているため、あまり効率的ではないようです。これは、後方参照を使用して何らかの方法で実行できると思いますが、機能させることができません。
LocText=(["']{1})([^\1]+)\1
これにより、一重/二重引用符を最初のグループに保存し、最初のグループで見つかった文字ではないものを読み取るように指示したと思いました。これは、最初のグループからの引用によって再び囲まれています。明らかに、私は間違っており、そのようには機能していません。
最初の 2 つの式を接続して、取得したい属性の値を 1 つのグループとして最小限のグループを作成する方法はありますか? 一重/二重引用符の値に後方参照を使用することは可能ですか、それともそれらの意味を完全に誤解していますか?