我将逗号分隔的数字列表作为查询字符串中的值传递。例如,我有以下查询字符串:
?view=list&cat=1,8,18&sort=asc
现在我想从“cat”变量中删除“8”。到目前为止,我有这个,只匹配“cat”的值
(?<=cat=)([^&]*)
这会让我得到“1,8,18”。现在我只想选择确切的数字“8”,这可能吗?我知道将逗号分隔的列表转换为数组会更容易,但在这种特定情况下这是不可能的。
编辑:正则表达式只能匹配“cat”变量中的数字,并且必须以逗号分隔的列表或作为单个值工作。所以下面的测试字符串:
?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”(不是最后一个 8,因为它前面没有“cat=”)