クエリ文字列の値として、コンマで区切られた数値のリストを渡しています。たとえば、次のクエリ文字列があります。
?view=list&cat=1,8,18&sort=asc
ここで、「cat」変数から「8」を削除したいと思います。これまでのところ、「cat」の値のみに一致するようにこれを持っています
(?<=cat=)([^&]*)
これにより、「1,8,18」が得られます。今、正確な数字「8」だけを選択したいのですが、それは可能ですか? コンマ区切りのリストを配列に変換する方が簡単なのはわかっていますが、この特定のケースではそれは不可能です。
編集: 正規表現は、「cat」var 内の数値とのみ一致する必要があり、カンマ区切りのリストまたは単一の値として機能する必要があります。したがって、次のテスト文字列:
?view=list&cat=1,8,18&sort=asc
?view=list&cat=8&sort=asc
?view=list&cat=1,8,18&sort=asc&someOtherVar=8
それらはすべて単一の数字「8」にのみ一致する必要があります (「cat=」が前にないため、最後の 8 には一致しません)