【发布时间】:2016-09-25 19:17:36
【问题描述】:
我有一个字符串要在 bash 中匹配和清理,例如:
POST_DATA="password=this*pass&is/for?testing"
我想匹配 = 符号清理(排除)此字符后的所有字符串 *&/?
我可以使用 = 符号之后的所有内容:
[[ ${POST_DATA} =~ ^password=(.*)$ ]] && password="${BASH_REMATCH[1]}"
echo $password
这表明:
this*pass&is/for?testing
我想要一个想要输出的正则表达式:
thispassisfortesting
我尝试了一些不能像这样工作的排除模式:
^password=(^[^\*\?&/])*$
有什么想法吗?谢谢。
【问题讨论】: