在JavaScript 中使用RegExp 拆分字串時保留分隔符號
使用正規表示式(RegExp) 將字串拆分為段是JavaScript 中的常見任務。但是,有時需要保留用於拆分的分隔符號。
考慮以下字串:
aaaaaa<br />† bbbb<br />‡ cccc
假設您希望在
string.split(/<br \/>&#?[a-zA-Z0-9]+;/g);
處拆分此字串。分隔符,後面跟著特殊字元(† 或 ‡)。可以使用下列正規表示式:
當此正規表示式完成分割任務時,它會丟棄string.split(/(<br \/>&#?[a-zA-Z0-9]+;)/g);
要保留分隔符,可以採用各種選項,如下所示:
透過將分隔符括在括號中,分隔符號將被捕獲為將結果數組中的元素分開。string.split(/(?=<br \/>&#?[a-zA-Z0-9]+;)/g);
另一種方法涉及使用正向前瞻斷言:
此斷言匹配分隔符號之前的位置,而不實際消耗分隔符號。string.split(/(?!<br \/>&#?[a-zA-Z0-9]+;)/g);
或者,可以使用負後向斷言:
此斷言匹配緊接定界符之後的位置,而不消耗string.split(/(.*?<br \/>&#?[a-zA-Z0-9]+;)/g);
此外,正則表達式可用於捕獲分隔符號之前的字串部分:
這將捕獲分隔符號之前的所有內容。var str = 'Animation/rawr/javascript.js'; var tokens = str.match(/[^\/]+\/?|\//g);
處理路徑時,需要特別考慮保留目錄斜線:
此正規表示式確保目錄後面的斜線也會被捕獲。以上是在 JavaScript 中使用正規表示式拆分字串時如何保留分隔符號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!