Expresiones Regulares

Aviso: Este post fue tomado del blog de Fabian FCP y a mi parecer es información muy útil que vale la pena compartir (Espero que el autor no se moleste por esta publicación, de ser así, háganoslo saber, gracias). 

^[a-zA-Z0-9_-]{2,}@[a-zA-Z0-9_-]{2,}\.[a-zA-Z]{2,4}(\.[a-zA-Z]{2,4})?$ ¿alguna vez han visto algo como esto? Tal vez en las clases de matemáticas o calculo algebraico ya que esto parece una fórmula matemática o física, o algo así, que solo lo entendería un ingeniero de la NASA (¿porque siempre ellos son los mejores?), pero no amigos esto es una expresión regular una sección de código universal que se usa en los buscadores de palabras o simplemente en una validación de datos, pero ¿cómo que validación de datos? Si eso se puede hacer contra una Base de datos y ya!, pero la verdad amigos del conocimiento eso gasta mucho recurso de sistema y además es tedioso para el Usuario final de alguno de nuestros programas, por ejemplo datos como Correos, Teléfonos, Celulares, Direcciones entre otros muchos datos que tienen una estructura definida o estándar

por ejemplo:
• Un correo siempre tendrá un símbolo @ en la mitad del correo
• Un Teléfono sea fijo o celular siempre serán números 



Eso por mencionar algunos, esos datos se pueden validar en el lado del usuario, solo con unas pocas líneas de código en cualquier lenguaje de programación. 

La mayoría por no decir todos los lenguajes de programación soportan expresiones regulares entre ellos están: 
• JAVA 
• .Net Framework
• javaScript
• PHP
• Pyton
• Pealr
• ActionScript 3 (AS3)

Las expresiones regulares o también llamados patrones nos sirven como ya mencionamos para validar datos, pero para ello usan una estructura estándar para realizar las validaciones por ejemplo en ^[a-zA-Z0-9_-]{2,}@[a-zA-Z0-9_-]{2,}\.[a-zA-Z]{2,4}(\.[a-zA-Z]{2,4})?$ cada símbolo representa algo y sirve para algo dentro de la cadena expliquemos primero los símbolos básicos como son :
^ : representa el inicio de la cadena, eso quiere decir que el dato a validar debe empezar por el carácter o grupo de caracteres inmediatamente siguiente
$ : representa el fin de la cadena, es decir que el dato a validar debe terminar en el carácter o grupo de caracteres inmediatamente anterior 
[] : representa un grupo de meta-caracteres, es decir un rango de caracteres por ejemplo [a-z] representa que solo habrán letras en minúscula mientras que [A-Z] representaría letras en mayúscula, dentro de ellos se pueden colocar varios rangos y el los validara igual por ejemplo [a-zA-Z0-9_-] representa todas las letras ya sean mayúsculas o minúsculas y todos los números del 1 al 9 además de ellos acepta los caracteres de línea(-) y línea baja(_).
{} : representa un cuantificador de valor, es decir que el carácter inmediatamente anterior solo se repetirá sienta cantidad de veces por ejemplo A{3} quiere decir que la letra A mayúscula se repetirá 3 veces ni más ni menos, mientras A{2,} representara que la letra A se repetirá mínimo 2 veces máximo infinito, y A{2,5} representa que la letra A mayúscula se repetirá entre 2 a 5 veces 
(): representa un grupo de caracteres especifico por ejemplo (a|b|c)al quiere decir que la palabra tiene que empezar en a, b o c siendo validas aal, bal y cal ya que b y c están en el grupo de caracteres 
| : representa una decisión de OR en los grupos de caracteres. Solo se aplica en paréntesis ()
\ : representa el escape de un carácter: es decir que encuentre ese carácter en especifico, por ejemplo si queremos que nuestra expresión regular encuentre cadenas que contengan {} o [] tendríamos que colocarlas asi \{\} \[\] ya que [] y {} son usados por las expresiones regulares en los patrones creados. 
? : Es un cuantificador que dice que el carácter o grupo de caracteres inmediatamente anterior puede aparecer cero (0) o una (1) vez en la cadena 
* : es un cuantificador que dice que el carácter o grupo de caracteres inmediatamente anterior se repite de cero (0) a muchas veces 
+ : es un cuantificador que dice que el carácter o grupo de caracteres inmediatamente anterior se repite de una(1) a muchas veces 


Estos son los símbolos más importantes en la creación de expresiones regulares y los más usados por ende. 



Ya que sabemos cuál es la utilidad de cada simbolito ahora si expliquemos que hace y como lo hace nuestra expresión regular : 

^[a-zA-Z0-9_-]{2,}@[a-zA-Z0-9_-]{2,}\.[a-zA-Z]{2,4}(\.[a-zA-Z]{2,4})?$



cojamos parte por parte de la expresión y expliquémosla paso a paso : 

Esta parte indica que la cadena a validar inicia con cualquier carácter alfanumérico línea o línea baja y que mínimo deben existir 2 caracteres


Esta parte de la cadena indica que continua un carácter obligatorio en cual es el @, si ese símbolo es obligatorio esto es un correo, luego es seguido de varios caracteres alfanuméricos donde son mínimo 2 y debe continuar con un punto (.), ya que el punto también significa cualquier carácter en las expresiones regulares se le coloca el carácter de escape ( \ ). Representa en nombre del dominio donde esta el correo ya sea Hotmail Yahoo 


Representa la segunda parte del dominio ya sea .com o .es


Representa una parte opcional en los correos por ejemplo en dominios que sean como entidad.edu.co sirve para validar la ultima parte si es que existe y además indica el fin de la línea

--
@jclandero23

228 Quejas de gente ociosa:

«El más antiguo   ‹Más antiguo   201 – 228 de 228   Más reciente›   El más reciente»
Anónimo dijo...
5/31/2013 5:56 a. m.

Hello, for all time i used to check web site posts here early in the dawn, since i like to gain knowledge of
more and more.

my web site :: payday loan lenders

Anónimo dijo...
5/31/2013 7:34 a. m.

This unique plan really is still debate on its safety which has how
to watch p90x in order lead Canada, England, Germany, and France
to prohibit it in non-prescription products. My diet was nothing organized and most
major scientific breakthroughs in type 1 diabetes research to date.
The biggest gains I've noticed thus with what they call Plyometrics. Go at how to watch p90x in order your own pace, but a break from the usual extreme approach of P90 X routines, you'll
be disappointed.

my weblog - sites

Anónimo dijo...
6/01/2013 12:25 p. m.

Hello there, I discovered your web site
by the use of Google whilst looking for a similar subject, your web site came
up, it appears to be like great. I have bookmarked it in my google
bookmarks.
Hi there, just changed into alert to your blog through
Google, and found that it's truly informative. I'm gonna
be careful for brussels. I'll be grateful when you proceed this in future. A lot of people will likely be benefited out of your writing. Cheers!

Also visit my web site; Free TV Series

Anónimo dijo...
6/02/2013 8:09 a. m.

Whats up! I just want to give a huge thumbs up for the nice data you may have here on this post.

I might be coming again to your blog for extra soon.


Here is my webpage pet travel accessories car

Anónimo dijo...
6/02/2013 9:35 a. m.

Hiya! I simply wish to give an enormous thumbs up for the great info you could have here on this post.
I can be coming back to your blog for extra soon.

Look into my blog post - love calculator by date of birth in hindi

Anónimo dijo...
6/02/2013 8:38 p. m.

Howdy! I simply would like to give a huge thumbs up for the great info you have here on this post.
I can be coming again to your blog for extra soon.

my website ... lady gaga perfume fame

Anónimo dijo...
6/04/2013 12:31 p. m.

Most watches provides you with accurate time, however few
fall to the category of a real luxury timepiece.
If a timepiece is built from expensive materials, you could expect to purchase it.
They each is Swiss Quartz precision accuracy, and waterproof to 200 meters.


Look into my web site: watches-bestprice.com

Anónimo dijo...
6/04/2013 1:49 p. m.

Cool blog! Is your theme custom made or did you download
it from somewhere? A design like yours with a few simple tweeks would really make my blog
stand out. Please let me know where you got your theme.
Kudos

Also visit my website: Funny Cat Pictures

Anónimo dijo...
6/05/2013 5:05 a. m.

WOW just what I was looking for. Came here by searching for wolf team aimbot

Feel free to surf to my weblog ... aimbots for sale

Anónimo dijo...
6/05/2013 1:33 p. m.

Hοwԁy! This іs kind οf off topic
but Ӏ need some help from an еstablished blog.
Ӏs it very harԁ to set up your οwn blog?
I'm not very techincal but I can figure things out pretty quick. I'm thіnking about crеating
my own but I'm not sure where to begin. Do you have any ideas or suggestions? Thanks

Look into my blog - where did tattoos originate

Anónimo dijo...
6/05/2013 2:44 p. m.

Start this game out by ѕаying, “I'm going on a trip and I'm
bringing. It іs also great bесause ѕеѵеral plаyers can play at the same time.
)How manу ѕtеps ρer mіnute doеs an average
toddler takе. Varіouѕ adventure gameѕ aгe dеѕigned foг thіs ρuгpose fог
lеttіng them haνe mοre fun while also stimulаting thеir imagіnation.
The ρroblеm-solving еxerсisе is
generally done on ρaper or on the whіtеboаrd.


my blоg post ... school unblocked games

Anónimo dijo...
6/05/2013 3:08 p. m.

Hi there! I simply wish to give an enormous thumbs
up for the great info you’ve got here on this post. I
might be coming back to your weblog for extra soon.


my web blog: sears employment for home improvement

Anónimo dijo...
6/08/2013 9:06 a. m.

I was more than happy to find this website. I need to to thank you for your time just for this
wonderful read!! I definitely liked every part of it and I have you book-marked to look at new
information on your site.

Look into my web-site Funny Clips

Anónimo dijo...
6/09/2013 8:23 a. m.

Hi, i think that i noticed you visited my web site so i came to return the desire?
.I am trying to in finding issues to improve my web site!I guess its good enough to use a few of your concepts!

!

Feel free to surf to my web site ... simply click the Attuale Status Utente: Online Ultimi 10 Articoli Inseriti inviati by PrestonW7: Sede Operativa via Varchi

Anónimo dijo...
6/09/2013 3:31 p. m.

If you are interested in enhanced functionality, you will find that this
Personal Heart Monitor watch may be what you are searching for.
But people are more interested in discussing the three newly-released Maurice Lacroix Pontos
D. Keeping up with the demands of the individuals and the pace of the
rapidly developing industry, the watch manufacturing brands like the Obaku are coming up with brilliant options that combine
simplicity, shape and texture.

Here is my page; longines

Anónimo dijo...
6/14/2013 12:59 a. m.

Ηeу there, my name's Agueda and sometimes I write about the same thing on my blog. I actually do have a few questions for you if you do not mind. Could it just be me or does it seem like a bunch of the comments seem like they are coming out of a bunch of idiots? :-P Also, if you happen to be on any other social network sites like web 2.0 site list, I'd like tο kеep in touch.
Mаybe you could poѕt а couple
links to some of them?

Alѕo viѕіt my weblog - 40023 *http://wiki.lespetitsdebrouillardsbretagne.org/index.php/Utilisateur:ViolaForb*

Anónimo dijo...
6/14/2013 12:59 a. m.

all the time i used to read smaller content which as well clear their motive, and that is
also happening with this post which I am reading at this place.



my web-site Dopamin

Anónimo dijo...
6/14/2013 1:26 a. m.

Definіtely take јoy іn ωhat you've got here, pleased you'rе putting іt
online and ωhat you haνe to say. Your article was excellently balanceԁ bеtween amusing and eduсatiоnаl.

I cаn't wait to pick up far more thanks to you. This is truly a remarkable blog.

Visit my web page :: custom xbox 360 controllers

Anónimo dijo...
6/14/2013 3:40 a. m.

I ran across this post on http://a-huelum.blogspot.com/ and
if I may I want to suggest to you some interesting things or ideas.
Perhaps you can write your next articles relating to these ideas.
I would like to read more things about what you're talking about.

Here is my web blog: american car cross donation red - streetgam.es -

Anónimo dijo...
6/14/2013 9:11 a. m.

Woah! I’m геally lοving the temρlаtе/theme
of thіs ѕіte. It’s simρle,
yet effective. A lot of times іt’s hаrd to get that “perfeсt
balancе”
betweеn suρerb usability and ѵisual аppeal.


I must say you’ve dοne a superb job with this.

Addіtionally, the blog loads very quick foг me on Fiгеfox.
Еxсellent Blog!

Also visіt mу blog post; organic potting soil

Anónimo dijo...
6/15/2013 5:45 p. m.

Wow, amazing blog layout! How long have you been blogging for?
you made blogging look easy. The overall look of your website is excellent, let alone the content!



Visit my website ... www.youtube.com/watc...

Anónimo dijo...
6/16/2013 8:47 a. m.

An intriguing discussion is definitely worth comment. I believe that you ought to write more about this issue, it might not be a taboo matter but typically folks don't talk about such issues. To the next! Cheers!!

Feel free to visit my webpage; seo training course

Anónimo dijo...
6/17/2013 2:58 p. m.

I was suggested this web site via my cousin.
I am no longer certain whether or not this publish is written through him as nobody else realize such special about my difficulty.

You are incredible! Thank you!

Also visit my web site :: Buy instant income

Anónimo dijo...
6/18/2013 1:40 a. m.

My brother suggested I might like this website. He was totally right.
This post actually made my day. You can not imagine simply how much time
I had spent for this information! Thanks!

My website: learn seo online

Anónimo dijo...
6/18/2013 7:57 a. m.

Great beat ! I would like to apprentice while you amend your web
site, how can i subscribe for a blog site? The account helped me a
acceptable deal. I had been tiny bit acquainted of this your broadcast provided bright clear concept

Here is my web site elementary fullerton

Anónimo dijo...
6/18/2013 12:39 p. m.

I hаve to thаnk you fоr thе effortѕ
you've put in penning this blog. I am hoping to check out the same high-grade content from you in the future as well. In fact, your creative writing abilities has inspired me to get my own, personal blog now ;)

Here is my blog; organic potting soil

zayedjaglowski dijo...
3/05/2022 10:56 a. m.

diamond necklace - Titanium Art
This beautiful diamond necklace design is a stunning addition to TITanium art blue titanium cerakote collection. You'll be able to choose from more than 80,000 micro touch titanium trimmer classic designs t fal titanium to citizen promaster titanium create titanium nose rings

ceslit dijo...
3/11/2023 9:31 a. m.

ke675 goatcanada,klektuk,alexander mcqueen lausanne,kickscrew location,stadium goods nederland,laced brisbane,olivercabellshoesaustralia,stockx orjinal ,alexander mcqueen kabelka in321

«El más antiguo ‹Más antiguo   201 – 228 de 228   Más reciente› El más reciente»