2016-07-20 5 views
1

Я использую синтаксис регулярных выражений .NET в действие Nintex и хотел бы извлечь электронную почту, как показано нижеИспользование регулярных выражений для извлечения Office 365 электронной почты UPN отформатирован

я: 0 # .f | членство | daniel.Smith @ domain.onmicrosoft.com

Теперь я думаю, что подход соответствует бит i: 0 # .f |, но исключает его, а затем соответствует остальным. Я был бы признателен за любую помощь в этом. Я попробовал это выражение, которое соответствовало некоторым из приведенных выше.

(?<=)(i:0#.f|membership). 

Daniel

+0

Поскольку для Nintex вы можете попробовать '[^ |] + $' (для соответствия) или '^. * \ |' Для замены. –

+0

Вы впечатляющие. Спасибо, но не могли бы вы объяснить, пожалуйста. Expresso устанавливается в соответствии с вашим предыдущим советом, но на самом деле он не говорит ничего, кроме «Любой персонаж, не в этом классе .....» – westerdaled

+0

Да, Expresso не объясняет классы символов, хотя иногда это было бы очень удобно. Однако в этом случае это принципиально, объяснять мало. –

ответ

1

Если вы планируете использовать режим Extract с Nintex, вы можете использовать

[^|]+$ 

, чтобы соответствовать 1 или более другим, чем | символов, которые находятся в конце строки , [^...] называется negated character class, который содержит буквенные символы или диапазоны, которые не должны быть совпавшие, а все остальное получает совпадений:

Результатом является то, что [отрицается] класс символов соответствует любому символу, который не в характере класс.

Смотрите regex demo

В качестве альтернативы можно использовать заменить действие с

^.*\| 

и заменить пустым текстом. См. this demo.

Дело в том, что мы сначала сопоставляем начало строки, а затем используем обратную трассировку с жадной точкой (.*), чтобы добраться до последнего литерала | и удалить все совпадение.

+1

Спасибо. Я тонкий, я понимаю первое демо. Думаю, мне, возможно, нужно будет прочитать второе. Большое спасибо. Теперь у меня есть шанс построить свою государственную машину! – westerdaled

+1

Рад, что это сработало для вас. Пожалуйста, подумайте о том, чтобы принять ответ (см. [Как принять ответы SO]] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)) и upvoting, если мой ответ оказался полезным для вы (см. [Как повысить уровень переполнения стека?] (http://meta.stackexchange.com/questions/173399/how-to-upvote-on-stack-overflow)). –

+0

Оба сделаны ... еще раз спасибо – westerdaled

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