我試圖在Javascript中找到一個看似簡單的問題的正則表達式,但我一直在關於它的整個早上都在打擊我的頭。我試圖用string.match來計算字符串中出現的引號符號。值得注意的是,不應該計算出逃脫的引號符號,但是前面帶有反斜槓的引號應該是再次。Javascript正則表達式:計算字符串中的未轉義引號
作爲輔助信息,我只是試圖查看該行中是否存在所有字符串都已正確關閉,並且我推測如果出現這種情況,行中應該存在相同數量的引號。
舉幾個例子:
'"I am string 1" "I am string 2"'
顯然應該算4個報價
'"I am \"string 1\"" "I am string 2"'
還是應該算4個報價爲內部串1應跳過逃脫的人。
'"I am string 1\\" "I am string 2"'
應該算4個引號,因爲\在第二的前「由\才逃過一劫。
我已經找到了正則表達式,其確實在紅寶石的工作(在PCRE格式化),但它使用結構不Javascript中存在,如負lookbehinds (?>!
和重置匹配\K
(?<!\\)(?:\\{2})*\K"
我試圖把它轉變爲一個Javascript正則表達式的起點,但無濟於事。
我估計像
(?:\\(?="))|(")
(匹配一個斜線,然後在自己的一個「或斜線) 應該做的伎倆,但它不工作,甚至不考慮問題。任何人都可以帶領我?非常感謝!
謝謝!這似乎是爲了完成這項工作。它只是讓我感到無法用Javascript中的一個正則表達式來解決這個問題。這似乎很簡單。 –
這對JS中的正則表達式不是基本的。在.NET中,你可以使用像''(? (%3F%3A%5B%5E%22%5C%5C%5D%7C(%22)%7C%5C%5C)。*%24&I =%22text +%5C%22more%5C%22 +文本%22 +和+ no + more +%22escaped%22 + quotes)並計算第1組捕獲的數量。 Python PyPi正則表達式和Boost正則表達式庫(支持捕獲集合)的特定構建也可以做到這一點。 –
是的,我只是。這似乎是JavaScript中唯一可能的選擇。再次感謝! –