簡體   English   中英

正則表達式在 javascript 拆分方法中不起作用,但在在線測試網站上起作用

[英]Regex not working in javascript split method but working Online test websites

我有這個正則表達式(?=(?:(?:[^']*'){2})*[^']*$)\\\\n完美地在在線測試網站上工作,但不在下面的代碼中。 我有一個帶有多個\n的字符串,還有一些帶有 in "雙引號的字符串,但我想忽略所有帶有 in "雙引號的\n

let input = "a,b,c\n'aa\nbb\ncc'\nhello world";
    
    const lines = input.split("(?=(?:(?:[^']*'){2})*[^']*$)\\\\n");
    console.log(lines); 

我得到這個 output 在此處輸入圖像描述

想要這個 Output:

[0]: "a,b,c"
    [1]: "aa\nbb\ncc"
    [2]: "hello world"

為什么這么復雜?

 let input = "a,b,c \n 'aa\nbb\ncc' \n hello world"; console.log(input.split(' \n '))

您的解釋和示例數據之間存在一些歧義。 您在輸入中談論雙引號作為分隔符,但在示例中卻相反。 正則表達式中的\n之前也有太多轉義字符。 \\\\n變為\n 不是\\n因為在 javascript 字符串中\n代表實際的換行符。 無需在正則表達式中轉義它。

 let input = 'a,b,c\n"aa\nbb\ncc"\nhello world'; let lines = input.split(/(?=(?:(?:[^"]*"){2})*[^"]*$)\n/); console.log(lines);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM