正则表达式匹配Javascript中两个字符之间的字符NON

时间:2018-05-22 13:25:21

标签: javascript regex reactjs react-router

我有一个我想用React路由器路由的网址。最后的id是变化的部分。

<Route path="(p\/(.*-))":myId component={myComponent} />

我需要在反应路由器中使用哪个正确的正则表达式?现在我有以下内容。

{{1}}

我的理解是我需要在&#39; p /&#39;之后获取值。直至并包括最后一个破折号。我已经看过涉及环顾四周的答案,但Javascript中不支持这些答案。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:1)

根据我的理解,你确实想要匹配所有内容,直到最后一个破折号。

这可以用这个表达式完成。

    require("dbconnection.php"); // Require DB Details and Connection details

$conn->set_charset("utf8");// Set characters to UTF8

$sql = "SELECT CustomerID, Balance, Multiplying_Factor FROM Customer_Table WHERE Balance > 100";
$result = $conn->query($sql);

$GLOBALS['count'] = mysqli_num_rows($result);

if ($result->num_rows > 0) {

echo "<table id=\"t01\">
  <tr>
    <th>Customer ID</th>
    <th>Balance</th> 
    <th>Stake</th> 
    <th>Factor</th> 
    <th>Turnover</th> 
    <th>ROI</th>
  </tr>";
  // output data of each row
    while($row = $result->fetch_assoc()) {

        $GLOBALS['Stake'] = $row["Balance"] / 2;
        $GLOBALS['CustomerID'] = $row["CustomerID"];
        $GLOBALS['Balance'] = $row["Balance"];
        $GLOBALS['Multiplying_Factor'] = $row["Multiplying_Factor"];
        $GLOBALS['Turnover'] = $Stake * $Multiplying_Factor;
        $GLOBALS['ROI'] = $Turnover - $Stake;
  echo "<tr class=\"GridItems\">
    <td>$CustomerID</td>
    <td>$Balance</td>
    <td>$Stake</td>
    <td>$Multiplying_Factor</td>
    <td>$Turnover</td>
    <td>$ROI</td></tr>";
    }
  echo "</table>";
  }
  • 匹配/ p /
  • 匹配任何字符中的一个或多个但换行符。只要匹配,这将继续。
  • 强制它匹配$Insert = "INSERT into Trade_Table (`CustomerID`, `Stake`, `Turnover`, `ROI`) VALUES ('$CustomerID[$i]', '$Stake[$i]', '$Turnover[$i]', '$ROI[$i]')"; $result = $conn->query($Insert); ,因此它会停止前一个表达式。

React Router使用path-to-regexp,因此您的代码可以使用此解决方案

/\/p\/.+\-/