我開始在JavaScript中編寫代碼語法高亮顯示,並且我想突出顯示以某種顏色引用的文本(包括「s」和「s」),我需要它能夠不要被其他引號中的一種引用搞砸,但我真的不知道該從哪裏開始。我不確定我應該如何去查找引號然後找到正確的最終報價。查找開始和結束語引用
0
A
回答
1
除非你這樣做是對的挑戰,看看Google Code Prettify。
對於你的問題,你可以在parsing (and lexers) at Wikipedia讀了,這是一個很大的話題和你」你會發現你會遇到更大的問題比解析字符串。
要開始,你可以使用正則表達式匹配的字符串典型的正則表達式(儘管他們很少有真正的詞法分析器的準確性。):
/"(?:[^"\\]+|\\.)*"/
然後爲'
相同而不是"
。
否則,對於逐個字符的解析器,一旦您點擊了"
,就會設置某種狀態,然後當您點擊的"
之前沒有反斜槓數量不均時甚至相當數量的反斜槓會逃脫彼此),你退出字符串。
0
使用堆棧..如果無法比擬的報價發現,將其推..如果發現匹配彈出
1
您可以使用正則表達式,但如果你正在寫一個語法高亮那麼唯一可靠的方法是報價單步執行代碼,逐字符,並決定從那裏做什麼。
E.g.的正則表達式
/("|')((?:\\\1|.)+?)\1/g
(匹配「this」和「本」和「THI \」 S「)
0
我在PHP中使用向後引用一個正則表達式做到了。JS不支持我想這就是你需要的,如果你真的想檢測不確定的反斜槓。
相關問題
- 1. 查找gzip開始和結束?
- 2. XSLT 2.0:查找子串的開始和結束索引
- 3. 如何查找RxJS.ajax調用的開始和結束?
- 4. 查找用戶定義的開始和結束標記
- 5. 使用JavaScript查找選定的文本開始和結束索引
- 6. 查詢結束開始與
- 7. 檢查開始和結束日期
- 8. 查詢開始和結束字段
- 9. 查找編輯文本可編輯getSpans開始和結束索引
- 10. Rails delayed_job開始和結束
- 11. 在開始和結束點(!)
- 12. Svg animate:開始和結束
- 13. 查找開始和結束的年/月/日/小時
- 14. 根據開始日期和天數查找結束日期 - excel
- 15. 查找月份的開始日期和結束日期
- 16. 查找月份開始和結束的最近日期
- 17. PHP查找函數的開始和結束
- 18. 如何查找監測地點的開始和結束日期
- 19. 查找數據幀中序列的開始和結束
- 20. 移動到搜索查找的開始和結束
- 21. 蜂巢查找開始和集團的結束或更改點
- 22. 在java中查找開始日期和結束日期
- 23. ,Postgres的查詢 - 找到開始和周結束之差,每週
- 24. 在列中查找開始時間和結束時間
- 25. 語法錯誤:匹配開始/結束
- 26. 中聲明,開始,結束語句
- 27. 尋找結束/開始日期
- 28. XSLT離開開始和結束標記
- 29. 除去N-使用開始和結束索引
- 30. Youtube API查詢:開始之前,開始之後,結束之前,結束之後
這樣的正則表達式會幫助嗎?http://stackoverflow.com/questions/249791/regexp-for-quoted-string-with-escaping -quotes – 2009-07-29 07:56:44