我有用戶輸入的字符串,並希望標記它們。爲此,我想使用正則表達式,現在有一個特殊情況的問題。 的示例串是正則表達式標記問題
Test + "Hello" + "Good\"more" + "Escape\"This\"Test"
或C#相當於
@"Test + ""Hello"" + ""Good\""more"" + ""Escape\""This\""Test"""
我能夠匹配Test
和+
令牌,但不包含那些的。「我用的是」讓用戶指定這是字面上的字符串而不是特殊的標記。現在,如果用戶想使用「字符串中的字符,我認爲這讓他以\逃避它的
所以規則是:給我的一切兩者之間」」,但在前面的字符最後的「不能是一個\」。
我期望的結果是:"Hello"
"Good\"more"
"Escape\"This\"Test"
我需要的「」字是在最後一場比賽,所以我知道這是一個字符串。
我現在有這給了我,結果如下正則表達式@"""([\w]*)(?<!\\"")"""
:"Hello"
"more"
所以後面看看是不是工作,我希望它是。有誰知道正確的方式來獲得像我想要的字符串?
還有一個級別:\通常可以用另一個\\ \ ...來轉義...所以'\\'''''''' – xanatos
Xanatos是對的,否則,['「[^」\\] * (?:\\ [^ 「\\] *)*」'](http://regexstorm.net/tester?p=%22%5b%5e%22%5c%5c%5d*(%3F%圖3a%5C%5c所示。%圖5b%5E%22%5C%5C%5D *)*%22&I =測試+%2B +%22Hello%22 +%2B +%22Good%5C%22more%22 +%2B +%22%圖5c% 5c%5c%22Escape%5c%22This%5c%22Test%22&o = ixncsm)應該爲你工作(C#['var rx =「\」[^ \「\\\\] *(?:\\\\。 [^ \ 「\\\\] *)* \」「'](http://ideone.com/dTq91U))。 –