簡體   English   中英

正則表達式以匹配JavaScript中{和}之間的字符串?

[英]Regular expression to match string between { and } in javascript?

給定以下字符串,我嘗試使用正則表達式匹配{}之間的任何字符串,並用<tr style="display:none;"><td></td></tr>包圍。

我嘗試編寫以下腳本,但不起作用。

 $(document).ready(function() { table = ` <table border="1"> {% Acount Summary 2018 %} <tbody> {I} <tr style="height: 25px;"> <td style="padding-left: 10px;">Account Number: </td> {# II #} <td>Account</td> {% Active Account %} </tr> { Requested Account #} <tr style="height: 25px"> <td style="padding-left: 10px;">Number of Requests: </td> <td>Request</td> {{ III }} </tr> {# <tr style="height: 25px"> <td style="padding-left: 10px;">Customer: </td> <td>Contract Customer</td> </tr> #} <tr style="height: 25px"> <td style="padding-left: 10px;"> Customoer ID</td> <td>ID</td> </tr> {# CustomerName #} </tbody> {# Account #} {{ Inactive }} </table> `; table.replace(/({\\s*?.*?.*})/g, '<tr style="display:none;"><td>$1</td></tr>'); console.log(table); $('#COA').html(table); }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="COA"></div> 

缺少了什么? 我該如何糾正上面的腳本以達到上述效果? 謝謝。

您需要重新分配變量table

table = table.replace( ... )

我對您的RegEx進行了編輯,以使其更加簡單,並排除了{}{([^}]*)}

請注意,您的方法將不會處理嵌套的{} 為此,您必須走遞歸之路。

 $(document).ready(function() { table = ` <table border="1"> {% Acount Summary 2018 %} <tbody> {I} <tr style="height: 25px;"> <td style="padding-left: 10px;">Account Number: </td> {# II #} <td>Account</td> {% Active Account %} </tr> { Requested Account #} <tr style="height: 25px"> <td style="padding-left: 10px;">Number of Requests: </td> <td>Request</td> {{ III }} </tr> {# <tr style="height: 25px"> <td style="padding-left: 10px;">Customer: </td> <td>Contract Customer</td> </tr> #} <tr style="height: 25px"> <td style="padding-left: 10px;"> Customoer ID</td> <td>ID</td> </tr> {# CustomerName #} </tbody> {# Account #} {{ Inactive }} </table> `; table = table.replace(/{([^}]*)}/g, '<tr style="display:none;"><td>$1</td></tr>'); console.log(table); $('#COA').html(table); }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="COA"></div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM