2016-04-04 12 views

cevap

-2

Sadece "(. +?)" Kullanın, işe yarayacaktır. Aşağıda

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

regex sözdizimi üzerine "(. +?)" Sadece = değer olarak normal ifadeyi kullanmak

enter image description here

+0

bu da mutlulukla maç olacak fark ''? –

+0

Evet. Çalışmalıyım. Eğer bunu Jmeter'da denemek ve bana haber ver. Normal ifadenizin bu durumda işe yaramayacağından eminim. –

+0

"Çalışacak" ve "' ** ** için başarısız olmayacaktır. Nasıl almıyorsun? –

2

JMeter site has explanation eposta değerini ayıklamak için örnektir ve JMeter bir RegEx vardır tester. E-postayı birçok şekilde doğrulayabilirsiniz. En temel doğrulama şudur:

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

(bu @, karakter önce ve @ sonra izin karakterle sınırlıdır mevcut olduğunu kontrol eder, ve alan uzantısı en az 2 karakter uzunluğunda). ben bu sorunu çözdü

+0

Düzenli ifadeniz [A-Za-z0-9 ._% + -] + @ [A-Za-z0-9 .-] + \. [A-Za-z] {2,} çalışmaz Jmetre'de . Ama value = "(. +?)"> –

+0

@MadhuCheepati çalışmalıdır: OP "e-posta düzenli ifade" istiyor. Bir tane verdim. E-postayla hiçbir ilişkisi olmayan bir şey verdin. –

0

(böylece IP'ler, uluslararası etki ile örneğin e-postalar, ve benzeri) daha gelişmiş (ama hala geçerli) e-postalar için başarısız olsa da

Bu ifade, en yaygın e-postaları yakalar Düzenli ifade çıkarıcı ve fasulye post işlemci kullanarak.

BeanShell numune Kodu: -

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();}