1
我正在寫一個cpp程序,它是一個類似於cpp的語言的詞法分析器。爲了找到每個標記,我使用正則表達式來匹配,然後決定選擇正確的標記。如何使用正則表達式(詞法分析)表達類似cpp的字符串(詞法分析)
這種語言的字符串和cpp完全一樣。我使用的正則表達式是這樣的:
\"([^\\\"]|\\.)?\"
但它不是真的正確。對於這樣的輸入:
"String \" int"
輸出應該是一個字符串標記,但我的正則表達式,我得到一個字符串標記(「字符串」)和一個int關鍵字,然後一個錯誤。
你有什麼想法如何處理?或者我應該如何改變正則表達式?
P.S. :我使用regex_search()來查找匹配。
謝謝。
'「String \」int「'字符串常量不包含'''char。使用'string s = R」String \\\「int」;' - 但是您的模式處理單引號和您的示例字符串有雙引號。 –
@Gurman號字符串'「字符串」字符串「'是不可接受的,但你的正則表達式接受。 – Ali94
@WiktorStribiżew我的例子只是顯示在控制檯中出現的內容,我的意思是你的代碼意味着什麼(也編輯我的正則表達式這是我的錯誤。) – Ali94