今天在捣鼓博客系统时候遇到一个问题,前台生成markdown文本中包含小括号,post请求传输到后台接收到之后变成了 & #41;这样的ascll编码,关键是中间还多出了个空格,如果想转译回来首先需要处理的就是中 &和#中间莫名其妙多出来的空格,首先想到的就是正则,废话就不多说了,直接上代码
首先解释一下 这个方法首先回去除ascll码中间的空格,然后转译成符号
(&)(\\s)(#\\d+;) 这个表达式去匹配类似&空格#数字; 这样格式的文本,每一个表达式外的括号是对匹配结果分组,替换规则 $1$3 表示保留第一组跟第三组匹配结果,如果想把空格换成星号*可以写成 $1*$3这样子 ,可以自己试一下