开发者社区> 问答> 正文

js与php正则小问题

看一下代码:

为啥在里没把开始的单引号去掉呢?

<?php
$str="'5.23.98.130:80'";
$p="#^\s*|\s*$|,|'#";
$str1=preg_replace($p, '', $str);
echo $str1;
echo "<hr/>";
?>
<script type="text/javascript">
var str="'5.23.98.130:80'";
document.write(str.replace(/^\s*|\s*$|,|'/g,''));
document.write("<hr/>");
document.write(str.replace(/'|^\s*|\s*$|,/g,''));
</script>


在js里把'放在正则前面就好,为啥放在后面去不掉开始的'呢

str.replace(/^\s*|\s*$|,|'/g,'')
就是 为啥去不掉开始的'呢
放前面就能去掉

难道受


^\s*|\s*$

的影响吗

展开
收起
a123456678 2016-07-15 16:22:43 2095 0
1 条回答
写回答
取消 提交回答
  • ^s|s$ 以空格开头,虽然你的意思是以空格开头或结尾,但是正则会默认为必须以空格开头,为避免歧义还是不要把^放在第一个

    2019-07-17 19:57:13
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-直面PHP微服务架构挑战-高驰涛 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载