Thanks Chris!!! On Thursday, February 27, 2014 7:50:56 PM UTC-5, Christopher Stone wrote: > > Hey Jeff, > > On Feb 27, 2014, at 15:34, outtacontext <[email protected] <javascript:>> > wrote: > > Oliver, when I used yours and did a find, BBEdit didn't find anything. :-( > > > At first blush it looks like Oliver didn't account for the possibility of > variable whitespace. > > Christopher, yours worked. But I would you explain your comment: > > Note: With freespacing on in the pattern all whitespace must be explicitly >> defined. (The pattern works as is.) I also have case-sensitive turned OFF. > > > http://www.regular-expressions.info/freespacing.html > > In short - with free-spacing ON you can insert space, tab, return/linefeed > without affecting the regular expression pattern. > > This allows you to use whitespace to break up your pattern to make it more > readable, and it free-spacing also allows for in-line comments in the > pattern. > > Ordinarily a string like this: > > "some-text > " > > Will find "some-text<return/linefeed>". > > The end-of-line character depends on what editor you're working in, and if > you don't know the difference between \n (Unix), \r (Classic Mac), and \r\n > (Windows) you can get into to some frustrating situations. > > I meant that case-insensitive is turned OFF by the pattern rather than in > the BBEdit find dialog. > > And, can you briefly explain the syntax? Oliver's is easy to understand. > But I don't get yours and I would like to so I know how to do this in the > future. > > > Briefly? :) > > You'll need to study up on regular expressions if you want some real > understanding[1]. > > Pattern: > > (?xi) # Freespacing ON and case-sensitive OFF > ^[[:blank:]]*<blockquote>[[:blank:]]*\r > > ^[[:blank:]]*<h3><a[[:blank:]]href="/exhibitions/online/roby/.+?\.cfm">.+?</a></h3>[[:blank:]]*\r > ^[[:blank:]]*</blockquote>[[:blank:]]*\r? > > Explanation: > > (?xi) == Pattern modifiers (p. 180 BBEdit Manual); x = free-spacing, > i = case-insensitive. > == In the case above these are switched ON > == Note the in-line comment in the pattern: # Freespacing ON > and case-sensitive OFF > ^ == Beginning of line. > [[:blank:]] == Horizontal whitespace (space, non-breaking-space, tab). > * == Zero or more instances of the character, group, or range > that precedes it. > + == One or more instances of the character, group, or range > that precedes it. > ? == One or zero instances of the character, group, or range > that precedes it. > . == Any character. > \ == Escape character turning special regex characters like . > into literal \. characters. > == Or turning literal characters into special characters like > \t tab. > \r == Return character (synonymous with \n in BBEdit but not > elsewhere). > > That's about all I have time for. > > -- > Best Regards, > Chris > > > [1]: > ---------------------------------------------------------------------- > Some Information on Learning Regular Expressions > ---------------------------------------------------------------------- > > Learning basic regular expressions is relatively easy. Becoming really > good with them takes dedication, a lot of practice, and some tutelage. > > The BBEdit Manual devotes a whole chapter to regular expressions: > Searching with Grep (currently chapter 8). It's a reference rather than a > tutorial, but it does explain at least briefly many of the fundamentals. > > My cheat-sheet for BBEdit/TextWrangler is up on Gist: > https://gist.github.com/ccstone/5385334. BBEdit/TextWrangler uses PCRE > (Perl Compatible Regular Expressions), so it's a pretty decent if not > complete reference. > > Regex neophytes are better off starting with a book specifically written > for beginners. > > I have these books (in addition to a couple of tomes on Perl): > > "Sams Teach Yourself Regular Expressions in 10 Minutes" by Ben Forta > "Beginning Regular Expressions" by Andrew Watt > "Regular Expressions Cookbook" by Jan Goyvaerts and Steven Levithan > "Mastering Regular Expressions" by Jeffrey Friedl (Advanced) > > There's a decent little utility available on the App-Store called > 'Patterns' that live-updates as you create your pattern. ($2.99) > > http://itunes.apple.com/us/app/patterns-the-regex-app/id429449079?mt=12 > > I've found it very handy to have live feedback when building a complex > pattern and wish I'd had something like that when I started learning regex > more than 20 years ago. > > Extracting a good working knowledge of regular expressions from the > Internet is a serious chore. There are many flavors of regex out there, > such as Perl/PCRE, Java, Javascript, Ruby, Python, TCL... They're all > similar, but the differences can be very confusing and frustrating. > > Nevertheless there are many useful online resources. Here are a few: > > http://www.agillo.net/regex-primer-part-1/ > http://www.agillo.net/regex-primer-part-2/ > http://www.codeproject.com/KB/dotnet/regextutorial.aspx > http://www.regular-expressions.info/tutorial.html > > ---------------------------------------------------------------------- > >
-- This is the BBEdit Talk public discussion group. If you have a feature request or would like to report a problem, please email "[email protected]" rather than posting to the group. Follow @bbedit on Twitter: <http://www.twitter.com/bbedit> --- You received this message because you are subscribed to the Google Groups "BBEdit Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected].
