我想編寫一個正則表達式,它可以匹配以下字符串文字說明。在過去的10個小時裏,我瘋狂地制定了各種正常表達式,而這些正則表達式看起來都不起作用。最後我歸結爲一個:正則表達式匹配具有轉義字符的字符串
([^"]|(\\[.\n]))*\"
基本上,要求如下:
- 一個字符串文字必須相匹配,使得我在高達匹配的一切最後「,在之間可能有一個」,不應該結束字符串。
- 我們也可以能夠逃脫任何東西,包括一個\ n上帶有一個「\」
- 只有一個轉義「「」字符可以結束比賽,僅此而已。
一些樣品字符串這我需要正確匹配以下內容:
- \ a \ b \「\ n」=>我應該匹配以下字符'\','a','\','b','\', '''','\','n','''
- \「this is still inside the string」=> s '''
- ''即將跳到換行\'\ n'「=>該字符串中有一個\ n字符,但字符串仍然匹配從開始'm'到結尾 '」'。
請別人幫我制定這樣的正則表達式。在我看來,我所提供的正則表達式應該能夠完成這項工作,但是無緣無故的失敗。
我不明白爲什麼沒有這個問題的固定配方。這是一個標準問題。在每一種編程語言中,我們都需要以某種方式匹配字符串文字,而且通常我們允許\ escape序列具有很大的自由度。應該有一些通用的配方(標準正則表達式)來達到這個效果。但是,我沒有找到任何。 – VaidAbhishek