将url与包含正斜杠的正则表达式匹配

Aka*_*gar 0 unix bash shell

我使用以下shell脚本来检查正则表达式.

#!/bin/bash
urlPattern='/demo/([^\s]+)/'
#echo $urlPattern
if [[ "/demo/akash/" =~ $urlPattern ]];then
  echo "match"
else
echo "not match"
fi
Run Code Online (Sandbox Code Playgroud)

给我一个"不匹配"的结果

cho*_*oba 5

bash中的正则表达不理解\s和类似的结构.但是你可以使用[:space:]:

urlPattern='/demo/([^[:space:]]+)/'
Run Code Online (Sandbox Code Playgroud)