我有一个场景,我将获得作为路径和查询参数的输入,而在值的位置,我将获得一个正则表达式。
正则表达式输入包含 & ,它是查询参数中的分隔符。
`Input :` '/austin/query.html?dept=([^&]*)&group=([^&]*)'
我想([^&]*)
动态地从查询参数中获取这个正则表达式。
任何想法或建议都可能是愚蠢/基本的问题,请帮忙?
我有一个场景,我将获得作为路径和查询参数的输入,而在值的位置,我将获得一个正则表达式。
正则表达式输入包含 & ,它是查询参数中的分隔符。
`Input :` '/austin/query.html?dept=([^&]*)&group=([^&]*)'
我想([^&]*)
动态地从查询参数中获取这个正则表达式。
任何想法或建议都可能是愚蠢/基本的问题,请帮忙?
在发送请求之前对查询参数进行 URL 编码很重要。这有助于避免出现具有特殊含义的字符(?
、=
、&
、#
等)的问题。
因此,与其在正则表达式中发送文字和字符&
,不如对其进行 URL 编码%26
。
/austin/query.html?dept=([^%26]*)&group=([^%26]*)
当这个被querystring
模块解析时,它会自动转换回和字符。
const querystring = require('querystring');
const URL = require('url');
function parseQueryParamsFromUrlPath(urlPath) {
const { query } = URL.parse(urlPath);
return querystring.parse(query);
}
parseQueryParamsFromUrlPath('/austin/query.html?dept=([^%26]*)&group=([^%26]*)');
// Output: { dept: '([^&]*)', group: '([^&]*)' }