簡體   English   中英

正則表達式返回.NET中的逃脫匹配-為什么?

[英]Regex returns escaped match in .NET - why?

如您在屏幕截圖中所見, 捕獲捕獲了正確的值Boton \\“ Reservar \\” ,但是該屬性似乎不可用。 價值返回了那個價值,但是逃脫了,那不是我所需要的。 這是.NET的正常行為嗎? 通常情況下, Value顯示與對象字符串相同的值,但是這次將其轉義。

另外,如您在即時窗口中所見, capture.ToString()甚至顯示了轉義的值。

更糟糕的是, Value用引號引起來,這不是正則表達式應該匹配的。

我已經嘗試過將捕獲轉換Group並再次調用capture.Captures來查看真正的匹配是否隱藏在更深的組中,但事實並非如此。

有任何想法嗎?

在此輸入圖像描述

內存中的字符串是正確的-只是它在轉義的/ watch / locals窗口中的表示形式。 我不知道為什么Visual Studio的人們決定這樣做,但是一個可能的解釋是您可以照原樣復制該字符串並粘貼到代碼中:

var match = "Botón \\\"Reservar\\\"";

並且它將具有捕獲的實際價值。 如果單擊“值”(Value)屬性值旁邊的放大鏡,則會看到沒有轉義的字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM