首頁 >web前端 >js教程 >在 JavaScript 中使用正規表示式拆分字串時如何保留分隔符號?

在 JavaScript 中使用正規表示式拆分字串時如何保留分隔符號?

DDD
DDD原創
2024-11-28 16:31:20487瀏覽

How Can I Preserve Delimiters When Splitting Strings in JavaScript Using Regular Expressions?

在JavaScript 中使用RegExp 拆分字串時保留分隔符號

使用正規表示式(RegExp) 將字串拆分為段是JavaScript 中的常見任務。但是,有時需要保留用於拆分的分隔符號。

考慮以下字串:

aaaaaa<br />&dagger; bbbb<br />&Dagger; cccc

假設您希望在

string.split(/<br \/>&amp;#?[a-zA-Z0-9]+;/g);

處拆分此字串。分隔符,後面跟著特殊字元(† 或 ‡)。可以使用下列正規表示式:

當此正規表示式完成分割任務時,它會丟棄
;分隔符號。在某些情況下,這可能是不可取的。
string.split(/(<br \/>&amp;#?[a-zA-Z0-9]+;)/g);

要保留分隔符,可以採用各種選項,如下所示:

透過將分隔符括在括號中,分隔符號將被捕獲為將結果數組中的元素分開。
string.split(/(?=<br \/>&amp;#?[a-zA-Z0-9]+;)/g);

另一種方法涉及使用正向前瞻斷言:

此斷言匹配分隔符號之前的位置,而不實際消耗分隔符號。
string.split(/(?!<br \/>&amp;#?[a-zA-Z0-9]+;)/g);

或者,可以使用負後向斷言:

此斷言匹配緊接定界符之後的位置,而不消耗
string.split(/(.*?<br \/>&amp;#?[a-zA-Z0-9]+;)/g);

此外,正則表達式可用於捕獲分隔符號之前的字串部分:

這將捕獲分隔符號之前的所有內容。
var str = 'Animation/rawr/javascript.js';
var tokens = str.match(/[^\/]+\/?|\//g);

處理路徑時,需要特別考慮保留目錄斜線:

此正規表示式確保目錄後面的斜線也會被捕獲。

以上是在 JavaScript 中使用正規表示式拆分字串時如何保留分隔符號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn