你可以用 /^\*+(?=\s+\S)|(?<!\s)(?<!\*(?=\S)[^*]*)(\*+)(?![\w*])/gm 請參閱regex演示。細節: ^-行的開始 \*+(?=\s+\S)-一個或多個星號后跟一個或多個空格,然后是一個non-whitespace字符 |-或 (?<!\s)-左邊不能有空格字符(如果您使用單詞字符,\w,您可以在這里使用\b) (?<!\*(?=\S)[^*]*)-緊接著在左邊,不能有*后跟一個non-whitespace字符,然后是除星號以外的零個或多個字符 \*+-一個或多個星號 (?![\w*])-右邊不能有單詞和*字符。 以下是您更新的JavaScript演示: const regex = /^\*+(?=\s+\S)|(?<!\s)(?<!\*(?=\S)[^*]*)(\*+)(?![\w*])/gm;const transform = m => { const superTable = [ '?', '1', '2', '3', '?', '?', '?', '?', '?', '?' ]; let str = []; // for each digit, add the character for the 1s place then divide by ten for (let len =