Sponsored Content
Top Forums Shell Programming and Scripting Searching backwards using regular expressions Post 302388706 by Altay_H on Thursday 21st of January 2010 07:20:44 AM
Old 01-21-2010
Searching backwards using regular expressions

I'm having trouble writing a regular expression that matches the text I need it to. Let me give an example to express my trouble. Suppose I have the following text:
Code:
if(condition)
	multiline
	statement
else if(condition)
	multiline
	statement
else if(condition)
	multiline
	statement
else if(condition)
	multiline
	statement
else if(condition)
	multiline
	statement
	find me
else if(condition)
	multiline
	statement

I want to find the line "find me" and match everything up from it to the nearest "else if(condition)". There can be anything at all between them, including newline characters. I tried the following regular expression:
Code:
m/else\sif\(condition\)[\s\S]*?find\sme/

Unfortunately the above regular expression does not do what I want. It finds the first "else if(condition)" and selects everything down to the first "find me" despite the nongreedy asterisk. Is there a way to match the "find me" first and then search up for for the "else if(condition)"?


Note: I know the above example doesn't make any sense code-wise. It's not the text I'm trying to match, but it's much less complicated and expresses what I'm trying to accomplish better.
 

10 More Discussions You Might Find Interesting

1. Programming

regular expressions in c++

How do I use the regular expressions in c++? (2 Replies)
Discussion started by: szzz
2 Replies

2. Shell Programming and Scripting

Regular Expressions

How can i create a regular expression which can detect a new line charcter followed by a special character say * and replace these both by a string of zero length? Eg: Input File san.txt hello hi ... (6 Replies)
Discussion started by: sandeep_hi
6 Replies

3. Shell Programming and Scripting

Help with regular expressions

I have following content in the file CancelPolicyMultiLingual3=U|PC3|EN RestaurantInfoCode1=U|restID1|1 ..... I am trying to use following matching extression \|(+) to get this PC3|EN restID1|1 Obviously it does not work. Any ideas? (13 Replies)
Discussion started by: arushunter
13 Replies

4. UNIX for Dummies Questions & Answers

regular expressions

how to find for a file whose name has all characters in uppercase after 'project'? I tried this: find . -name 'project**.pdf' ./projectABC.pdf ./projectABC123.pdf I want only ./projectABC.pdf What is the regular expression that correponds to "all characters are capital"? thanks (8 Replies)
Discussion started by: melanie_pfefer
8 Replies

5. UNIX for Advanced & Expert Users

Regular Expressions

Hi, below is a piece of code written by my predecessor at work. I'm kind of a newbie and am trying to figure out all the regular expressions in this piece of code. It is really a tough time for me to figure out all the regular expressions. Please shed some light on the regular expressions... (3 Replies)
Discussion started by: ramky79
3 Replies

6. Shell Programming and Scripting

Need help with Regular Expressions

Hi, In ksh, I am trying to compare folder names having -141- in it's name. e.g.: 4567-141-8098 should match this expression '*-141-*' but, -141-2354 should fail when compared with '*-141-*' simlarly, abc should fail when compared with '*-141-*' I tried multiple things but nevertheless,... (5 Replies)
Discussion started by: jidsh
5 Replies

7. UNIX for Advanced & Expert Users

regular expressions

I have a flat file with the following drug names Nutropin AQ 20mg PEN Cart 2ml Norditropin Cart 15mg/1.5ml I have to extract digits that are before mg i.e 20 and 15 ; how to do this using regular expressions Thanks ram (1 Reply)
Discussion started by: ramky79
1 Replies

8. Shell Programming and Scripting

searching regular expressions with special characters like dot using grep

hi everybody I am a new user to this forum and its previous posts have been very useful. I'm searching in a file using grep for patterns like 12.13.444 55.44.443 i.e. of form <digit><digit>.<digit><digit>.<digit><digit><digit> Can anybody help me with this. Thanks in advance (4 Replies)
Discussion started by: jpriyank
4 Replies

9. Shell Programming and Scripting

Help with regular expressions

I have a file that I'm trying to find all the cases of phone number extensions and deleting them. So input file looks like: abc x93825 def 13234 x52673 hello output looks like: abc def 13234 hello Basically delete lines that have 5 numbers following "x". I tried: x\(4) but it... (7 Replies)
Discussion started by: pxalpine
7 Replies

10. Shell Programming and Scripting

Regular expressions

I need to pick a part of string lets stay started with specific character and end with specific character to replace using sed command the line is like this:my audio book 71-skhdfon1dufgjhgf8.wav' I want to move the characters beginning with - end before. I have different files with random... (2 Replies)
Discussion started by: XP_2600
2 Replies
pthread_cond_init(3T)													     pthread_cond_init(3T)

NAME
pthread_cond_init(), pthread_cond_destroy() - initialize or destroy a condition variable SYNOPSIS
PARAMETERS
cond Pointer to the condition variable to be initialized or destroyed. attr Pointer to the attributes object that defines the characteristics of the condition variable to be initialized. If the pointer is NULL, default attributes are used. DESCRIPTION
The function initializes the condition variable cond with the attributes attr. If attr is NULL, the default condition variable attributes are used to initialize the attributes object. See pthread_condattr_init(3T) for a list of the default condition variable attributes. After successful initialization, the condition variable may be used in condition variable operations. A condition variable should be ini- tialized only once or the resulting behavior is undefined. The function provides a way to ensure that a condition variable is only ini- tialized once. The macro can be used to initialize condition variables that are statically allocated. These condition variables will be initialized with default attributes. The function does not need to be called for statically initialized condition variables. If the process-shared attribute in the condition variable attributes object referenced by attr is defined as the condition variable must be allocated such that the processes sharing the condition variable have access to it. This may be done through the memory-mapping functions (see mmap(2)) or the shared memory functions (see shmget(2)). destroys the condition variable cond. This function may set cond to an invalid value. The destroyed condition variable can be reinitial- ized using the function If the condition variable is used after destruction in any condition variable call, the resulting behavior is unde- fined. A condition variable should be destroyed only when there are no threads currently blocked on it. Destroying a condition variable that is currently in use results in undefined behavior. RETURN VALUE
Upon successful completion, and return zero. Otherwise, an error number is returned to indicate the error (the variable is not set). ERRORS
If any of the following occur, the function returns the corresponding error number: The system does not have the available resources (other than memory) to initialize the condition variable. The specified condition variable is an already initialized condition variable. However, getting for reinitializing the condition variable cannot be expected all the time since the behavior of reinitializing the condition variable is undefined. The cond parameter points to an illegal address. The value specified by cond or attr is invalid. There is insufficient memory available in which to initialize the condition variable. If any of the following occur, the function returns the corresponding error number: An attempt to destroy cond while it is in use by another thread. cond is not a valid condition variable. WARNINGS
The space for condition variable must be allocated before calling Undefined behavior will result if the process-shared attribute of attr is and the space allocated for the condition variable is not accessible to cooperating threads. AUTHOR
and were derived from the IEEE POSIX P1003.1c standard. SEE ALSO
pthread_cond_signal(3T), pthread_cond_wait(3T). STANDARDS CONFORMANCE
Pthread Library pthread_cond_init(3T)
All times are GMT -4. The time now is 02:27 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy