我正在尝试进行以下查询,以这种格式的字符串参数进行过滤:
filter: (status~contains~false~and~username~contains~'admin')
因此,我需要在此search(
中输入request.input('filter')
,然后在包含之后搜索单词以进行查询。我很难制作正则表达式(我不知道我是否真的需要正则表达式)
类似的东西:
if(request.input('filter').search('regex??'))
queryUsers.where('username', 'like', '%'+request.input('username')+'%')
尝试过:
if(filter.search("username")){
let userName = filter.search(/?<=username~contains~).*$/g).replace("'", "")
console.log(userName)
//queryUsers.where('username', 'like', '%'+request.input('username')+'%')
}
但是我收到:
无效的正则表达式:/?<=username~contains~)。*$/:无 重复
答案 0 :(得分:0)
无需使用正则表达式,您可以像以下查询一样运行-
Database.from('users').whereRaw('username Like ?', ['%'+request.input('username')+'%'])