如何将Php正则表达式转换为js

时间:2016-02-28 09:24:45

标签: javascript php regex

我在PHP中有一个正则表达式并且它工作正常但我想在js中使用它也可以告诉我该怎么做我不太熟悉它

在php这个表达式是这样的,它允许数字和字符之间的连字符号( - )但删除字符之间的连字符符号并用空格替换它就像我使用任何此字符串

$string ="Al-Abbas - Manama - 100" or
$string ="100 - Al-Abbas - Manama"

$repl = preg_replace('/\d\h*-\h*(*SKIP)(*F)|-(?!\h*\d)/', ' ', $string);

之后我得到了这个输出

Al Abbas Manama - 100
100 - Al Abbas Manama 

我想在javascript中做同样的事情我怎么能用javascript或任何其他方式在javascript中转换这个表达式。

2 个答案:

答案 0 :(得分:2)

您可以使用此模式捕获您想要避免的内容。由于javascript中不存在function getTotalLeg($node,$leg){ $sql="select enrolled_id from members where enroller_id='$node' and tside='$leg' and active='1'"; $res=mysql_query($sql); global $total; $total=$total+mysql_num_rows($res); $row=mysql_fetch_array($res); if($row['enrolled_id']!=''){ getTotalLeg ($row['enrolled_id'],0); getTotalLeg ($row['enrolled_id'],1); } return $total; } ,您可以使用\h模拟它。替换函数返回组存在时的组或空格:

[^\S\r\n]

答案 1 :(得分:-1)

var str="100 - Al-Abbas - Manama";
var newstr = str.replace(/\d\h*-\h*(*SKIP)(*F)|-(?!\h*\d)/, ' ');