[英]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.