2010-11-25 2 views
2

Это компилирует и выполняет:Что соответствует этому регулярному выражению?

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

Но я не могу найти ничего, что соответствует его. whatever, what\ever и what\\ever все не соответствуют.

\e не является допустимой последовательность выхода AFAIK, так что я не уверен, что предполагаемое поведение здесь ...

ответ

7

Я думаю, что \e соответствует «Escape» символ (код ASCII 27). Следовательно, он должен соответствовать "what\x1bver"

+0

Этот ответ был добавлен к [Stack Overflow Regular Expression FAQ] (http://stackoverflow.com/a/22944075/2736496) в разделе «Escape Sequences». – aliteralmind 2014-04-10 01:06:55

3

\ е является управляющим символом побега

вы можете использовать бесплатный инструмент под названием The Regulator, который построен в IntelliSense, которая помогает для подобных вещей.

2

\e обычно равен \033.

+0

Правильно ... но кто использует восьмеричные? – mpen 2010-11-25 10:11:25

+0

@Mark: Люди, которые предпочитают держать пальцы в числовой строке вместо того, чтобы обойти эти надоедливые буквы: P – 2010-11-25 10:18:29

2

Это escape-последовательность (0x1B).

См. Раздел непечатаемых символов here.

-1

Я думаю, вы должны использовать

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

, чтобы соответствовать "что \ когда-либо"

Смежные вопросы