?
Solved

Need help with Regular Expression

Posted on 2006-11-27
9
Medium Priority
?
540 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

 
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 1000 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

Get real performance insights from real users

Key features:
- Total Pages Views and Load times
- Top Pages Viewed and Load Times
- Real Time Site Page Build Performance
- Users’ Browser and Platform Performance
- Geographic User Breakdown
- And more

Question has a verified solution.

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

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.
Although it can be difficult to imagine, someday your child will have a career of his or her own. He or she will likely start a family, buy a home and start having their own children. So, while being a kid is still extremely important, it’s also …
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …
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…
Suggested Courses

752 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