Поскольку, тема вроде как ожила, имею вопрос к модераторам. Может, всё-таки, поможем товарищу yuragalaxy здесь (сообщ. #12)? Хотя, подозреваю, что именно ему это уже, мягко говоря, не нужно... А варианты решения, наверняка, есть не только у меня.
Поскольку, тема вроде как ожила, имею вопрос к модераторам. Может, всё-таки, поможем товарищу yuragalaxy здесь (сообщ. #12)? Хотя, подозреваю, что именно ему это уже, мягко говоря, не нужно... А варианты решения, наверняка, есть не только у меня.Che79
yuragalaxy, добрый день,вариант функции в столбце B
[vba]
Код
Function vvv$(t$) With CreateObject("VBScript.RegExp"): .IgnoreCase = True .Pattern = "(?:\w+\.)?(?:\w+\.)?(?:\d+\.)?(?:\w+)?\.?(?:-{1,3})?\w+@\w+\.\w+" If .test(t) Then vvv = .Execute(t)(0) Else vvv = "" End With End Function
[/vba]
yuragalaxy, добрый день,вариант функции в столбце B
[vba]
Код
Function vvv$(t$) With CreateObject("VBScript.RegExp"): .IgnoreCase = True .Pattern = "(?:\w+\.)?(?:\w+\.)?(?:\d+\.)?(?:\w+)?\.?(?:-{1,3})?\w+@\w+\.\w+" If .test(t) Then vvv = .Execute(t)(0) Else vvv = "" End With End Function
На регулярках можно чутка попроще, правда не ясно, что делать с ведущими дефисами (я их откинул): [vba]
Код
Function webadres$(t$) With CreateObject("VBScript.RegExp"): .IgnoreCase = True .Pattern = "[\w+]+[\w+\.-]+@\w+\.\w+" If .test(t) Then webadres = .Execute(t)(0) Else webadres = "" End With End Function
[/vba]
На регулярках можно чутка попроще, правда не ясно, что делать с ведущими дефисами (я их откинул): [vba]
Код
Function webadres$(t$) With CreateObject("VBScript.RegExp"): .IgnoreCase = True .Pattern = "[\w+]+[\w+\.-]+@\w+\.\w+" If .test(t) Then webadres = .Execute(t)(0) Else webadres = "" End With End Function