2010-11-25 54 views
2

這編譯和執行:與此正則表達式匹配的是什麼?

var re = new Regex(@"what\ever"); 

但我不能找到匹配任何東西。 whatever,what\everwhat\\ever都不匹配。

\e不是AFAIK有效的轉義序列,所以我不知道這裏的預期行爲是...

回答

7

我覺得\e「越獄」字符(ASCII代碼27)匹配。因此,它應該匹配"what\x1bver"

+0

這個答案已經被添加到[堆棧溢出正則表達式常見問題解答(http://stackoverflow.com/a/22944075/2736496),在「轉義序列」下。 – aliteralmind 2014-04-10 01:06:55

3

\ e是轉義控制字符

,你可以使用一個名爲The Regulator免費工具,它具有內置的智能感知,這有助於這樣的事情。

2

\e通常等於\033

+0

正確...但誰使用八進制? – mpen 2010-11-25 10:11:25

+0

@Mark:那些喜歡把手指放在數字行上而不是四處尋找那些討厭的字母的人:P – 2010-11-25 10:18:29

2

這是轉義序列(0x1B)。

查看非打印字符部分here

-1

我認爲你應該使用

var re = new Regex(@"[what\ever]"); 

匹配「什麼\有史以來」

相關問題