Sponsored Content
Full Discussion: regular expression [^ ]
Top Forums Shell Programming and Scripting regular expression [^ ] Post 302206088 by sonam on Tuesday 17th of June 2008 02:37:38 AM
Old 06-17-2008
Actually regular expression support is not uniform in all languages. Perl compatible regular expressions (also called PCRE) are a very common set of regular expressions compatible with how Perl supports regular expressions. Regular expression support in the webMethods 'Flow' language is not explicitly stated as PCRE according to their documentation (but may be).

The original poster may have been asking about this statement from an article here: (because I hit this forum when researching the same topic)
--
Regular Expressions for Integration Server
wMUsers: For webMethods Professionals -- Knowledge Base | Regular Expressions for Integration Server
--

/[^ ]/ -- [matches a variable that is] is not null, is not empty, and contains at least one non-space character.

My question was also similar - how come this does _not_ match the empty string, or null? I think the answer is a square bracket pair ('[...]') must match some character, and the '^ ' just excludes the space character from matching. Is this correct?

I modified the Perl code helpfully posted earlier, by adding an empty string ("") as the last case:
Code:
#!/usr/bin/perl

@t = ('m', "\t", '1', " ", "\n","");
for my $i (0..$#t) {
    if ($t[$i] =~ /[^ ]/) {
       print qq{Number $i is true "$t[$i]"\n};
    } else {
       print qq{Number $i is NOT true "$t[$i]"\n};
    }
}

Running this, I get these results:
Code:
Number 0 is true "m"
Number 1 is true "      "
Number 2 is true "1"
Number 3 is NOT true " "
Number 4 is true "
"
Number 5 is NOT true ""

So does result #5 confirm my understanding above --- the square bracket pair ('[...]') _must_ match some character, and the '^ ' just excludes the space character from matching.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Regular Expression + Aritmetical Expression

Is it possible to combine a regular expression with a aritmetical expression? For example, taking a 8-numbers caracter sequece and casting each output of a grep, comparing to a constant. THX! (2 Replies)
Discussion started by: Z0mby
2 Replies

2. Programming

What does the regular expression ['(^[^~]+~).*'] mean?

What does the regular expression +~).*'] mean while using it with regexec.When the string "RCHNUSNT35C~rs07/ASM-RS07" is used with the regular expression +~).*'] regexec gives an error. I know what regexec does,but i do not understand what this expression means wrt to this string... any help... (2 Replies)
Discussion started by: anupamar
2 Replies

3. Linux

Regular expression to extract "y" from "abc/x.y.z" .... i need regular expression

Regular expression to extract "y" from "abc/x.y.z" (2 Replies)
Discussion started by: rag84dec
2 Replies

4. UNIX for Dummies Questions & Answers

ls with regular expression

I currently list and sort all the files in a directory which begin with an Upper Case C and end with the extension '#finished#'. Here is the command I use: ls -tr $currentDir/*.#finished# what i need to do now is list all the files in a directory that begin with upper case C and end... (3 Replies)
Discussion started by: rkgudde
3 Replies

5. Shell Programming and Scripting

Integer expression expected: with regular expression

CA_RELEASE has a value of 6. I need to check if that this is a numeric value. if not error. source $CA_VERSION_DATA if * ] then echo "CA_RELESE $CA_RELEASE is invalid" exit -1 fi + source /etc/ncgl/ca_version_data ++ CA_PRODUCT_ID=samxts ++ CA_RELEASE=6 ++ CA_WEEK_NO=7 ++... (3 Replies)
Discussion started by: ketkee1985
3 Replies

6. Programming

Perl: How to read from a file, do regular expression and then replace the found regular expression

Hi all, How am I read a file, find the match regular expression and overwrite to the same files. open DESTINATION_FILE, "<tmptravl.dat" or die "tmptravl.dat"; open NEW_DESTINATION_FILE, ">new_tmptravl.dat" or die "new_tmptravl.dat"; while (<DESTINATION_FILE>) { # print... (1 Reply)
Discussion started by: jessy83
1 Replies

7. UNIX for Advanced & Expert Users

sed: -e expression #1, char 0: no previous regular expression

Hello All, I'm trying to extract the lines between two consecutive elements of an array from a file. My array looks like: problem_arr=(PRS111 PRS213 PRS234) j=0 while } ] do k=`expr $j + 1` sed -n "/${problem_arr}/,/${problem_arr}/p" problemid.txt ---some operation goes... (11 Replies)
Discussion started by: InduInduIndu
11 Replies

8. UNIX for Dummies Questions & Answers

Regular expression help

Hi, I am quite knew to scripting and I am trying to get a regular expression to work to check that a user enters a valid version number such as 1 or 1.1 or 12.3 etc. I dont seem to be able to get it to work as it picks up versions such as 1.......2. I only want it to work with a single dot.... (12 Replies)
Discussion started by: frodo61
12 Replies

9. Shell Programming and Scripting

Regular expression

Can someone please explain me what does this mean? ^{1,50}$ (1 Reply)
Discussion started by: Anupam_Halder
1 Replies

10. Shell Programming and Scripting

Regular expression

I would like to extract "JDBC Thin Client" from (PROGRAM=JDBC Thin Client); and "C:\Python26\python.exe" from (PROGRAM=C:\Python26\python.exe); "txm_v_awsrf_db.pr" from (PROGRAM=txm_v_awsrf_db.pr). if input line like "(PROGRAM=)", it return unknown. Would you help suggest a regular... (4 Replies)
Discussion started by: cstsang
4 Replies
PCRE_FULLINFO(3)					     Library Functions Manual						  PCRE_FULLINFO(3)

NAME
PCRE - Perl-compatible regular expressions SYNOPSIS
#include <pcre.h> int pcre_fullinfo(const pcre *code, const pcre_extra *extra, int what, void *where); int pcre16_fullinfo(const pcre16 *code, const pcre16_extra *extra, int what, void *where); int pcre32_fullinfo(const pcre32 *code, const pcre32_extra *extra, int what, void *where); DESCRIPTION
This function returns information about a compiled pattern. Its arguments are: code Compiled regular expression extra Result of pcre[16|32]_study() or NULL what What information is required where Where to put the information The following information is available: PCRE_INFO_BACKREFMAX Number of highest back reference PCRE_INFO_CAPTURECOUNT Number of capturing subpatterns PCRE_INFO_DEFAULT_TABLES Pointer to default tables PCRE_INFO_FIRSTBYTE Fixed first data unit for a match, or -1 for start of string or after newline, or -2 otherwise PCRE_INFO_FIRSTTABLE Table of first data units (after studying) PCRE_INFO_HASCRORLF Return 1 if explicit CR or LF matches exist PCRE_INFO_JCHANGED Return 1 if (?J) or (?-J) was used PCRE_INFO_JIT Return 1 after successful JIT compilation PCRE_INFO_JITSIZE Size of JIT compiled code PCRE_INFO_LASTLITERAL Literal last data unit required PCRE_INFO_MINLENGTH Lower bound length of matching strings PCRE_INFO_NAMECOUNT Number of named subpatterns PCRE_INFO_NAMEENTRYSIZE Size of name table entry PCRE_INFO_NAMETABLE Pointer to name table PCRE_INFO_OKPARTIAL Return 1 if partial matching can be tried (always returns 1 after release 8.00) PCRE_INFO_OPTIONS Option bits used for compilation PCRE_INFO_SIZE Size of compiled pattern PCRE_INFO_STUDYSIZE Size of study data PCRE_INFO_FIRSTCHARACTER Fixed first data unit for a match PCRE_INFO_FIRSTCHARACTERFLAGS Returns 1 if there is a first data character set, which can then be retrieved using PCRE_INFO_FIRSTCHARACTER, 2 if the first character is at the start of the data string or after a newline, and 0 otherwise PCRE_INFO_REQUIREDCHAR Literal last data unit required PCRE_INFO_REQUIREDCHARFLAGS Returns 1 if the last data character is set (which can then be retrieved using PCRE_INFO_REQUIREDCHAR); 0 otherwise The where argument must point to an integer variable, except for the following what values: PCRE_INFO_DEFAULT_TABLES const unsigned char * PCRE_INFO_FIRSTTABLE const unsigned char * PCRE_INFO_NAMETABLE PCRE_SPTR16 (16-bit library) PCRE_INFO_NAMETABLE PCRE_SPTR32 (32-bit library) PCRE_INFO_NAMETABLE const unsigned char * (8-bit library) PCRE_INFO_OPTIONS unsigned long int PCRE_INFO_SIZE size_t PCRE_INFO_FIRSTCHARACTER uint32_t PCRE_INFO_REQUIREDCHAR uint32_t The yield of the function is zero on success or: PCRE_ERROR_NULL the argument code was NULL the argument where was NULL PCRE_ERROR_BADMAGIC the "magic number" was not found PCRE_ERROR_BADOPTION the value of what was invalid There is a complete description of the PCRE native API in the pcreapi page and a description of the POSIX API in the pcreposix page. PCRE 8.30 24 June 2012 PCRE_FULLINFO(3)
All times are GMT -4. The time now is 04:44 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy