Solved

Need help with Regular Expression

Posted on 2006-11-27
9
510 Views
Last Modified: 2011-04-14
I know next to nothing about RegEx.  I'm using Textpad, which uses RegEx to do search/replace.

I have a large file that I want to condense.  It's a DNS table.

In this case, I want to find all lines that end in 'B&P" )' and replace the entire line with 25spaces followed by TXT ( "B&P" )

Here's a sample.  Can someone help me with this?

183.142.x.x         A      127.0.0.1
                        TXT      ( "damon somers on 2/23/2005 6:26:45 AM B&P" )
                        TXT      ( "dave orines on 2/23/2005 6:26:48 AM B&P" )
                        TXT      ( "franklyn abeyta on 2/23/2005 6:26:43 AM B&P" )
                        TXT      ( "guadalupe strysko on 2/23/2005 6:26:42 AM B&P" )
                        TXT      ( "laurence blackshear on 2/23/2005 6:26:44 AM B&P" )
                        TXT      ( "lyndon plazza on 2/23/2005 6:26:46 AM B&P" )
                        TXT      ( "patrick doell on 2/23/2005 6:26:41 AM B&P" )
                        TXT      ( "rocky liem on 2/23/2005 6:26:43 AM B&P" )
                        TXT      ( "vincent stern on 2/23/2005 6:26:46 AM B&P" )
48.142.x.x          A      127.0.0.1
                        TXT      ( "daniel spooner on 2/2/2005 12:30:40 AM B&P" )
                        TXT      ( "glen schwalenberg on 2/2/2005 12:30:39 AM B&P" )
                        TXT      ( "vito vierra on 2/2/2005 12:30:38 AM B&P" )
                        TXT      ( "ward hope on 2/2/2005 12:30:37 AM B&P" )
                        TXT      ( "branden kriege on 2/2/2005 12:30:36 AM B&P" )
                        TXT      ( "zane duenas on 2/2/2005 12:30:34 AM B&P" )
                        TXT      ( "vincenzo danesh on 2/2/2005 12:30:34 AM B&P" )
                        TXT      ( "leroy bauman on 2/2/2005 12:30:33 AM B&P" )
0
Comment
Question by:nummagumma2
  • 4
  • 2
  • 2
  • +1
9 Comments
 
LVL 54

Expert Comment

by:b0lsc0tt
ID: 18025092
nummagumma2,

I don't know about implementing this in your program but the expression you want is.

.+B&P"\x20\)

It will identify the lines you mentioned.  Most like the replace will require you to type the 25 spaces and then TXT ( "B&P" ).  In other words in the box to specify the text to replace the match with type [25 spaces]TXT ( "B&P" ).  [25 spaces] in the previous sentences is for literally 25 spaces.

Let me know if you have any questions or need more information.

b0lsc0tt
0
 
LVL 1

Expert Comment

by:achillecarsten
ID: 18025301
The example is the "before", correct?

thus the "AFTER" would be something like

                         TXT ( "B&P" )?
0
 
LVL 1

Expert Comment

by:achillecarsten
ID: 18025408
Whoa, running TextEdit, it's regex is pretty brutal. (Running through wine on linux, at least)
Anyhow, click search/replace, select REGEX
search for -----------><b>^.*B.P</b><------------------
Replace with ---------------><b>             TXT \(\"B\&P</b><----------------- (increase the number of spaces as you wish)


0
Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

 
LVL 1

Expert Comment

by:achillecarsten
ID: 18025415
Hmm, let me try that again
Search for: "^.*B.P"
Replace with: "                         TXT \(\"B\&P"
0
 
LVL 4

Expert Comment

by:Raymun
ID: 18025433
B&P"\)$
0
 
LVL 4

Expert Comment

by:Raymun
ID: 18025437
will look for it at the end of the string; not the first occurrence of it
0
 
LVL 1

Accepted Solution

by:
achillecarsten earned 250 total points
ID: 18025473
Raymum: this editor is strange, not sure what regex version they implement
anyhow, yeah, last occurrence would be:
Search for:^.+B&P"\ ?.$
Replace with:                        TXT \(\"B\&P\"\)
0
 
LVL 1

Author Comment

by:nummagumma2
ID: 18030891
achille - your final one worked with just a few minor tweaks to the spacing.  Thank you!  I'm posting another one with similar issue that I've never been able to figure out.
0
 
LVL 1

Author Comment

by:nummagumma2
ID: 18030917
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Displaying an arrayList in a listView using the default adapter is rarely the best solution. To get full control of your display data, and to be able to refresh it after editing, requires the use of a custom adapter.
Whether you’re a college noob or a soon-to-be pro, these tips are sure to help you in your journey to becoming a programming ninja and stand out from the crowd.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question