[英]Javascript RegEx to replace white space between two specific expressions
[英]JavaScript regex replace the space between two groups
我正在以編程方式修改包含一些 HTML/JS 代碼的大型文本文件,並且需要“標記”兩個選擇器之間有空格的位置,例如 ID 和 className 之間,如 $('#btnOne .subElement')。 要找到這些,我需要一個 RegEx。 但是,我在替換位上失敗了。
RegEx101 Demo - 正確識別了我需要用標記(例如 $#$#$ 或其他東西)替換內部空間的兩個示例。 (這個 regex101 演示有什么問題是匹配整個子字符串,而不僅僅是中間的空格 - 這就是我需要替換的全部)
這是一個准備好替換的代碼片段,與上面的問題相同。
$('button').click(function(){ var tmp = $('#orig').text(); tmp = tmp.replace("<br>", "\\n"); tmp = tmp.replace(/\\$\\(['"].+ .*\\)\\./gi,'<span>HOW_TARGET_ONLY_THE_SPACE_CHAR?</span>.'); $('#output').html(tmp); });
#output{margin-top:10px;background:palegoldenrod;} span{color:brown;font-weight:bold;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="orig"> function initSxsChartBtns(){<br> var oneBtnIsAlreadyClicked = false; $('#databuttons button').each(function(){ if ( $(this).hasClass('btn_DEPRESSED') ) oneBtnIsAlreadyClicked = true; }); if (!oneBtnIsAlreadyClicked){ $('#txtAdvisory').val('Approximately 25% are registered.'); $('#btnOne .subElement').addClass('btn_DEPRESSED'); $('#btnTwo.sameElement').addClass('btn_DEPRESSED'); } } </div> <button>RegEx Replace</button> <div id="output"></div>
你可以這樣做:
tmp = tmp.replace(/(\$\(['"].+) (.*\)\.)/gm, '$1abc$2');
這里$1
和$2
用於指代 RegExp 中的捕獲組。 我嘗試盡可能少地更改您的 RegExp,我添加的只是用於創建捕獲組的括號。
replace
還允許您將函數作為第二個參數傳遞,從而更精確地控制替換。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.