Необязательный запуск строки с помощью RegEx (PowerShell) - PullRequest
0 голосов
/ 13 мая 2019

Как можно дополнительно разрешить запуск SMTP-адреса с «smtp:» или «SMTP» и получить соответствие нижеследующего RegEx?

(?<!-_.)(?!.*\.\.)(?=[a-zA-Z0-9][a-zA-Z0-9@\-_.]{4,}$)[a-zA-Z0-9-_.]{1,64}[a-zA-Z0-9]\@(?:(?=[a-zA-Z0-9-]{1,254}\.)[a-zA-Z0-9]+(?:\-[a-zA-Z0-9]+)*\.){1,}[a-zA-Z]{2,63}$

Я пробовал разные варианты (smtp:|SMTP:), но, похоже, ни одна из них не работает.

Ответы [ 2 ]

0 голосов
/ 13 мая 2019

Благодаря @ LotPings

((SMTP: | SMTP?:) (//)) (?). (?!. * ..) (= [A-Za-Z0-9] [A-Za-Z0-9 @ -] {4} $) [A-Za-Z0-9 -_] {1,64} [A-Za-Z0-9] @ (:. (= [A-Za-Z0-.? 9 -] {} одна тысяча двести пятьдесят четыре) [A-Za-Z0-9] + (:. -. [A-Za-Z0-9] +) *) {1,} [A-Za-Z] {2, 63} $

0 голосов
/ 13 мая 2019

Поскольку вы не отображаются в выборке ввода.Используя пример составленных почтовых данных, как на счет этого ...

$MailData = '
From:smtp:JoeBob@yahoo.com,Tom TheCat tcat@snailmail.net,jerry@snailmail.net 
To:TulaJane@hotmail.com;JF@gmail.com;SMTP:tiger@outlook.com; 
Doug Tompson smtp:DTompson@icloud.com 
MailTo:BobsYourUncle@protonmail.com; 
SMTP:johnny.bravo@yahoo.co.uk
'
[regex]::Matches($MailData,'(smtp[:]|SMTP[:])\w+@\w+\.\w+|(smtp[:]|SMTP[:])\w+\.\w+@\w+\.\w+\.\w+').Value

# Or
[regex]::Matches($MailData,'(smtp.|SMTP.)\w+@\w+\.\w+|(smtp.|SMTP.)\w+\.\w+@\w+\.\w+\.\w+').Value

# Results

smtp:JoeBob@yahoo.com
SMTP:tiger@outlook.com
smtp:DTompson@icloud.com
SMTP:johnny.bravo@yahoo.co.uk
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...