WDSC Find Tips

From MidrangeWiki
Revision as of 09:21, 7 April 2009 by Starbuck5250 (talk | contribs) (+find PI)
Jump to: navigation, search

WDSC Find Tips - A useful ways to search for text in members/editors



Find camel case words.

  1. Open find with Ctrl-F
  2. Key in "([a-z]|[A-Z])[a-z]+[A-Z]+[a-z]+(\W|\b)" (without the quotes) into the Find box (Alt-F)
  3. Choose case sensitive (Alt-C)
  4. Whole word (Alt-O)
  5. Regular expression (Alt-X)
The regular expression is boken down like this
([a-z]|[A-Z]) 
- Find the first character that is either upper or lower case.
[a-z]+  
- Find at least one to many characters that are lower case only.
[A-Z]+  
- Find at least one to many characters that are upper case only.
[a-z]+  
- Find at least one to many characters that are lower case only.
(\W|\b)  
- Find any character that is not a word character or is the end of line.

Find and replace using regular expressions.

Q. I use regular expressions to find text a lot. Now I need to replace text (or in the current case append new text).

A. What you're after is called 'capturing groups'. The text editor in Eclipse does it. I've requested it as an enhancement to LPEX, so I think it's "on the list".

The problem with the text editor is that it sees the date area and sequence numbers as part of the text so anything using beginning of the line (^) logic is much trickier. For what you're after it might work. Add the member to an iSeries Project. Right click the member, then open with text editor.

Find: reffld(\([A-Z]*\))$
Replace: REFFLD$1 ALWNULL

The ( ) around the regular expression \([A-Z]*\) marks it as a capturing group. $1 in the replace is set to whatever the first capturing group finds. You can nest capturing groups and reference them within the find as well. Hit F1 in the find dialog to get info about the regular expressions.

Copied from a WDSC-L repsonse by Adam Glauser WDSC-L Mattt 13:47, 29 June 2007 (CDT)

Find a given subprocedure interface

^.{5}d\s*ProcedureName\s*pi

The regular expression is broken down like this
- Find the beginning of a line
.{5} 
- Match any 5 characters. Could be sequence numbers, blanks or a mod mark here.
- Match the 'd' in column 6
\s* 
- There could be spaces. * means zero or more.
ProcedureName 
- Find the procedure with this name.
\s* 
- There could be spaces between the procedure name and the PI.
pi 
- Find the PI - the procedure interface.


Categories