Regex Programming
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me

The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.

Go Back   Dev Shed ForumsProgramming Languages - MoreRegex Programming

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old May 31st, 2009, 08:48 PM
tommy916 tommy916 is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Apr 2003
Posts: 342 tommy916 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 21 h 52 m 26 sec
Reputation Power: 11
(.*?) or (.*)

I've seen people use either (.*?) or (.*) for wild, what is the difference?

Reply With Quote
  #2  
Old May 31st, 2009, 08:58 PM
Matt1776's Avatar
Matt1776 Matt1776 is offline
Recovering Intellectual
Dev Shed Beginner (1000 - 1499 posts)
 
Join Date: Jun 2006
Location: Orange County, CA
Posts: 1,303 Matt1776 User rank is Major General (70000 - 90000 Reputation Level)Matt1776 User rank is Major General (70000 - 90000 Reputation Level)Matt1776 User rank is Major General (70000 - 90000 Reputation Level)Matt1776 User rank is Major General (70000 - 90000 Reputation Level)Matt1776 User rank is Major General (70000 - 90000 Reputation Level)Matt1776 User rank is Major General (70000 - 90000 Reputation Level)Matt1776 User rank is Major General (70000 - 90000 Reputation Level)Matt1776 User rank is Major General (70000 - 90000 Reputation Level)Matt1776 User rank is Major General (70000 - 90000 Reputation Level)Matt1776 User rank is Major General (70000 - 90000 Reputation Level)Matt1776 User rank is Major General (70000 - 90000 Reputation Level)Matt1776 User rank is Major General (70000 - 90000 Reputation Level)Matt1776 User rank is Major General (70000 - 90000 Reputation Level)Matt1776 User rank is Major General (70000 - 90000 Reputation Level) 
Time spent in forums: 1 Month 1 Week 1 Day 7 h 48 m 58 sec
Reputation Power: 783
Send a message via ICQ to Matt1776 Send a message via Skype to Matt1776
dot means match everything, star means match one or more times.

question mark means the match is optional.

I dont really know why someone would use '.*?' when they wanted '.*'
__________________
Bugs that go away by themselves come back by themselves
Beware - your loyalty will not be rewarded

Reply With Quote
  #3  
Old June 1st, 2009, 12:37 AM
prometheuzz prometheuzz is offline
User 165270
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Oct 2005
Posts: 497 prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level) 
Time spent in forums: 5 Days 10 h 14 m 35 sec
Reputation Power: 936
Not quite.

Quote:
Originally Posted by Matt1776
dot means match everything,


Dot means match any character except new line characters.

Quote:
Originally Posted by Matt1776
star means match one or more times.


Star means zero or more times.

Quote:
Originally Posted by Matt1776
question mark means the match is optional.


Right after a greedy operator (like STAR or PLUS) the question mark is a reluctant quantifier (aka a "ungreedy" quantifier).

Quote:
Originally Posted by Matt1776
I dont really know why someone would use '.*?' when they wanted '.*'


Here's a good reason why: http://www.regular-expressions.info/repeat.html (see the paragraph "Watch Out for The Greediness!")

Reply With Quote
  #4  
Old June 1st, 2009, 12:38 AM
prometheuzz prometheuzz is offline
User 165270
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Oct 2005
Posts: 497 prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level) 
Time spent in forums: 5 Days 10 h 14 m 35 sec
Reputation Power: 936
Quote:
Originally Posted by tommy916
I've seen people use either (.*?) or (.*) for wild, what is the difference?


Check out the link from my previous reply.

Reply With Quote
  #5  
Old June 10th, 2009, 10:10 AM
xyexz xyexz is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: May 2004
Posts: 45 xyexz User rank is Sergeant (500 - 2000 Reputation Level)xyexz User rank is Sergeant (500 - 2000 Reputation Level)xyexz User rank is Sergeant (500 - 2000 Reputation Level)xyexz User rank is Sergeant (500 - 2000 Reputation Level)xyexz User rank is Sergeant (500 - 2000 Reputation Level) 
Time spent in forums: 16 h 17 m 51 sec
Reputation Power: 18
Quote:
Originally Posted by tommy916
I've seen people use either (.*?) or (.*) for wild, what is the difference?


Non-Greedy matches are usually better due to most people use a greedy match such as:

/^staticstring(.*)anotherstaticstring$/

With the above the regex engine will do a ton of back referencing/tracking to find where "a" from "anotherstaticstring" occurs to know where to cut off the greedy matching.

By doing (.*?) if changes the way it looks for the start of the literal match.

The same approach works for something like (\d+?) I believe as well.

Correct me if i'm wrong but this has been my experience in my everyday battles with regex.

Reply With Quote
  #6  
Old June 10th, 2009, 11:41 AM
prometheuzz prometheuzz is offline
User 165270
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Oct 2005
Posts: 497 prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level)prometheuzz User rank is General (90000 - 100000 Reputation Level) 
Time spent in forums: 5 Days 10 h 14 m 35 sec
Reputation Power: 936
Quote:
Originally Posted by xyexz
...

The same approach works for something like (\d+?) I believe as well.

Correct me if i'm wrong but this has been my experience in my everyday battles with regex.


An in my opinion better explanation is give in the link I posted earlier.

Reply With Quote
  #7  
Old July 6th, 2009, 03:20 PM
ishnid's Avatar
ishnid ishnid is offline
kill 9, $$;
Dev Shed God 4th Plane (6500 - 6999 posts)
 
Join Date: Sep 2001
Location: Shanghai, An tSín
Posts: 6,894 ishnid User rank is General 44th Grade (Above 100000 Reputation Level)ishnid User rank is General 44th Grade (Above 100000 Reputation Level)ishnid User rank is General 44th Grade (Above 100000 Reputation Level)ishnid User rank is General 44th Grade (Above 100000 Reputation Level)ishnid User rank is General 44th Grade (Above 100000 Reputation Level)ishnid User rank is General 44th Grade (Above 100000 Reputation Level)ishnid User rank is General 44th Grade (Above 100000 Reputation Level)ishnid User rank is General 44th Grade (Above 100000 Reputation Level)ishnid User rank is General 44th Grade (Above 100000 Reputation Level)ishnid User rank is General 44th Grade (Above 100000 Reputation Level)ishnid User rank is General 44th Grade (Above 100000 Reputation Level)ishnid User rank is General 44th Grade (Above 100000 Reputation Level)ishnid User rank is General 44th Grade (Above 100000 Reputation Level)ishnid User rank is General 44th Grade (Above 100000 Reputation Level)ishnid User rank is General 44th Grade (Above 100000 Reputation Level)ishnid User rank is General 44th Grade (Above 100000 Reputation Level) 
Time spent in forums: 4 Months 2 Weeks 1 Day 22 h 37 m 21 sec
Reputation Power: 3885
Even setting aside the greedy v. non-greediness of those constructs, it's worth pointing out that using dot-star is not necessarily recommended if you can make your regexp tighter.

Reply With Quote
Reply

Viewing: Dev Shed ForumsProgramming Languages - MoreRegex Programming > (.*?) or (.*)

Developer Shed Advertisers and Affiliates



Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 


Powered by: vBulletin Version 3.0.5
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.

© 2003-2013 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap