我需要將一個字串分組為 3 個字符的組。
例子:
In: 900123456 -> Out: 900 123 456
In: 90012345 -> Out: 900 123 45
In: 90012 -> Out: 900 12
有沒有辦法用正則運算式做到這一點?
非常感謝。
uj5u.com熱心網友回復:
試試/\d{3}(?!\b)/gm作為模式和$0 替換。
解釋:
\d匹配一個數字。但是我們想要其中的 3 個,所以它變成\d{3}.- 我們想用它自己替換匹配,后跟一個空格。但如果它位于行尾,我們不應該這樣做,因為我們不想添加尾隨空格。這可以通過否定前瞻來搜索帶有 的單詞邊界來避免
\b。這變成(?!\b)了負前瞻。
你可以在這里測驗它:https ://regex101.com/r/MIQnF3/1
let input = document.getElementById('input');
let output = document.getElementById('output');
// In JS I had to capture the 3 digits in a group since $0 did not work.
let pattern = /(\d{3})(?!\b)/gm;
output.innerHTML = input.innerHTML.replace(pattern, '$1 ');
<p>Input:</p>
<pre><code id="input">900123456
90012345
90012</code></pre>
<p>Output:</p>
<pre><code id="output"></code></pre>
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/451870.html
