2016-04-04 2 views

ответ

-2

Просто используйте «(. +?)», Он будет работать. Ниже приведен пример

<input type="email" value="[email protected]"> 

извлечь значение электронной почты просто использовать регулярное выражение в качестве значения = "(. +?)"

enter image description here

+0

вы понимаете, что это будет также счастливо соответствует '<входной тип = "электронная почта" значение = "iamnotavalidemail !!!">'? –

+0

Да. Я должен работать. Если вы хотите попробовать его в Jmeter и сообщить мне. Я уверен, что ваше регулярное выражение не будет работать в этом случае. –

+0

Тот факт, что он «будет работать» и не будет работать для '' is ** bad **. Как вы этого не понимаете? –

2

JMeter site has explanation на синтаксисе регулярных выражений, и JMeter имеет RegEx тестер. Вы можете проверять электронную почту разными способами. Наиболее основная проверка заключается в следующем:

[A-Za-z0-9._%+-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,} 

(он будет проверять, что @ присутствует, символы до и после @ ограничены допустимых символов, а расширение домена длиной не менее 2-х символов).

Это выражение ловит наиболее распространенные электронные письма, хотя это потерпит неудачу для более продвинутых (но все еще действующих) электронных писем (например, письмо с IP-адресами, международными доменами, и так далее)

+0

Ваше регулярное выражение [A-Za-z0-9 ._% + -] + @ [A-Za-z0-9 .-] + \. [A-Za-z] {2,} не будет работать для в Jmeter. Но значение = "(. +?)"> Должно работать –

+0

@MadhuCheepati: OP хочет «регулярное выражение электронной почты». Я предоставил один. Вы предоставили что-то, что не имеет никакого отношения к электронной почте. –

0

Я решил эту проблему с помощью экстрактора регулярных выражений и постпроцессора beanshell.

BeanShell пробоотборник Код: -

emailAd = vars.get("email"); 

emailAddr = vars.get("EmailAddress"); 

//log.info(email); // if you want to log something to jmeter.log file 

if(!emailAd.equals("0")) { 

// Pass true if you want to append to existing file 
// If you want to overwrite, then don't pass the second argument 

f = new FileOutputStream("C:/Users/Errors.tsv", true); 
p = new PrintStream(f); 
this.interpreter.setOut(p); 


print(emailAddr +"\t"+ emailAd); 


f.close();} 
Смежные вопросы