我開始在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. 查找用戶定義的開始和結束標記
- 2. 使用JavaScript查找選定的文本開始和結束索引
- 3. 查詢開始和結束字段
- 4. 檢查開始和結束日期
- 5. 在開始和結束點(!)
- 6. 查找月份開始和結束的最近日期
- 7. 查找數據幀中序列的開始和結束
- 8. 如何查找監測地點的開始和結束日期
- 9. 移動到搜索查找的開始和結束
- 10. ,Postgres的查詢 - 找到開始和周結束之差,每週
- 11. PHP查找函數的開始和結束
- 12. 查找開始和結束的年/月/日/小時
- 13. 根據開始日期和天數查找結束日期 - excel
- 14. 在列中查找開始時間和結束時間
- 15. 語法錯誤:匹配開始/結束
- 16. 尋找結束/開始日期
- 17. 在自定義HTML結構中查找開始和結束標記
- 18. 如何使用開始和結束語句構建動態TSQL查詢
- 19. 查找數組中的開始/結束索引的所有可能的排列
- 20. 使用Google App Engine實現「開始於」和「結束」查詢
- 21. 開始日期到結束日期之間的查找時間
- 22. 查找(開始:結束)列表中的子列表。 Python的
- 23. 如何查找檢查器的起始和結束圖塊?
- 24. 開始和結束標記之間的文本的術語?
- 25. MATLAB自動完成代碼體的開始和結束語句?
- 26. 離子按鈕的開始和結束語法沒有意義
- 27. BNF語法匹配開始標記和結束標記
- 28. glyphicon日曆開始和結束日期
- 29. 開始日期和結束日期datepicker
- 30. 目標C:開始點和結束點
這樣的正則表達式會幫助嗎?http://stackoverflow.com/questions/249791/regexp-for-quoted-string-with-escaping -quotes – 2009-07-29 07:56:44