How to use regexp in @filter

I tried this, but I just gave a simple example.
Firstly, if I give a not regexp, this method will be difficult again.
Secondly,if I match too many uids with a regexp,I can’t use this var results in finnal block.
Thirdly,as I said above, I just gave a simple demo. In fact, multiple regular expressions, equals, or other comparisons will be used. Maybe I will write the dql is :

{
m (func: eq(resource_key, "requirement"))@filter(eq(workspace_key,"_xGWV7")  AND( (( eq(is_for_commercial,true) OR eq(is_for_commercial,true) )AND gt(total_autocase_number,10)  AND ( regexp(requirement_purpose,/use/i)  AND ge(total_testcase_number,50) AND lt(total_testcase_number,1001)) )  OR ((eq(requirement_delivery_type,"1") OR eq(requirement_delivery_status,"6"))AND regexp(qa,/wANL/i) AND NOT regexp(tse,/zeng/i) AND regexp(requirement_id,/R72/i) AND regexp(market_requirement_id,/xGW7/i) and regexp(requirement_delivery_sm,/zhang/i) AND NOT eq(tse,"chase")) OR (regexp(testcase_url,/https:\/\/www.baidu.com.\/rdcloud\/workspaces\/xGW7\/apps\/test\/testlib\/xGW7/i) AND regexp(qa,/wanl/i)) AND NOT eq(total_autocase_number,0) AND NOT eq(total_testcase_number,0) AND eq(requirement_delivery_status,"6") )
  OR( regexp(name,/SMF/i) AND (regexp(tse,/xx/i) OR regexp(tse,/bb/i))AND (regexp(requirement_delivery_sm,/cxb/i) OR regexp(requirement_delivery_sm,/wuxj/i))AND regexp(requirement_id,/R7.2/i)) 
  ) @recurse(depth:20){
  id
  name
  resourceKey : resource_key
  comment
  total_autocase_number
  total_testcase_number
  is_for_commercial
  market_requirement_id
  requirement_delivery_sm
  requirement_delivery_status
  requirement_delivery_type
  requirement_id
  requirement_purpose
  target_market
  tse
  delivery_report_url
  qa
  solution_specification_url
  test_design_url
  testcase_url

	parent :~parent_to_child @facets
  }
}