12-07-2010
This sort validation is more a bison/lex/flex sort of thing, probably available in PERL, too. A small state machine in C could apply the rules, too, tracking parse state. However, I suspect even the most talented regex writer cannot decode infinitely complex state in a regex. Some things are easier done in stages, too, like parentheses and quote balance. Each milieu comes with it's own rules about what is an escape, how linefeeds are treated, punctuation of just white space.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I need help with a Perl regular expression.
The following string blows up my program: <david(greg jim)>
If I type this string, there is no problem: <david(greg_jim)> or type
david(gregjim) or type <david greg jim> the CGI program does not complain.
For some reason that I do not understand the... (1 Reply)
Discussion started by: mh53j_fe
1 Replies
2. Shell Programming and Scripting
I am writing script that will act like the 'comm' utility. My
problem is when trying to read whether the user has entered -123 or -1
or -1...etc.
I currently have:
if(m/??/g){
print "Good.\n";
}
So, this should check for all... (1 Reply)
Discussion started by: DrRo183
1 Replies
3. Shell Programming and Scripting
What is the easiest way to get full address of *.jpg images from html file using perl?
example:
http://farm3.static.flickr.com/2397/2126443111_65a810004c.jpg (1 Reply)
Discussion started by: mirusnet
1 Replies
4. UNIX for Dummies Questions & Answers
Hello,
$line=USING (FILE '/TEST1/FILENAME'5000)
I want to reterive the value between ' and ) which is 5000 here.
i have tried out the following expressions ...
Type 1 : $Var1=`sed -e 's/.*\' //' -e 's\).*$/' $line`;
Type 2 : $Var1=`echo $line | awk -F"\'" '{print $2}' | awk -F"\\)"... (1 Reply)
Discussion started by: maxmave
1 Replies
5. Shell Programming and Scripting
Hello everybody,
I am trying to connect from hp-ux to win 2003 using perl's Net::Telnet module. Seeing the examples in couple of web sites, I saw I have to declare a Prompt =>
Can somebody please tell me what my regular expression should be? The prompt after I log in is:
...
login:... (1 Reply)
Discussion started by: whatever
1 Replies
6. Shell Programming and Scripting
Hello,
I cannot see what's wrong in my code.
When I run code below, it just print an empty string.
my $test = "SWER~~ERTGSDFGTHAS_RTAWGA_DFAS.x4-234253454.in";
if ($test = ~ m/\~{1,2}.*4/) {
print "$1\n";
}
else {
print "No match...\n";
}
Anyone know what I'm doing wrong?
... (4 Replies)
Discussion started by: urandom
4 Replies
7. Shell Programming and Scripting
Hi. Here's a tricky one (at least to me):
I have a file named theFile.txt (UTF-8) that contains the following:
a
b
cWhen I execute
perl -pe 's|a.*c|d|sg' theFile.txtin bash 3.2 on MAC OS X 10.6, I get no match, i.e. the result is
a
b
cagain. Any clues why? (2 Replies)
Discussion started by: BatManWSL
2 Replies
8. Shell Programming and Scripting
im trying to extract some tags between and in a file..for eg..the file format is
I want the and extracted from the file i.e the tags which is present b/w and
I have the regex for extracting the tags from the whole file but how to specify my search within the and... (1 Reply)
Discussion started by: rajkrishna89
1 Replies
9. Shell Programming and Scripting
Hi,
I have file like below:
1|1212|34353|5fdf 6575||dfgdg sfsdf |afsf||4|aasfbc|~1213~~~~~
1|1212|34353|5fdf 6575||dfgdg sfsdf |affsf| |4|abc|~rwarw~~asa~~~123~312313
1|1212|34353|5fdf 6575||dfgdg sfsdf |afasfs||4|aasfdbc|~564564~~~~
1|1212|34353|5fdf 6575||dfgdg sfsdf... (1 Reply)
Discussion started by: sol_nov
1 Replies
10. Shell Programming and Scripting
Hi,
I am trying with the below Perl one-liner using regular expression to extract the first and second column of a text file:
perl -p -e "s/\s*(\w+).*/$1/"
perl -p -e "s/\s*.+\s(.+)\s*/$1\n/"
whereas the text file's data looks like:
Error: terminated 2233
Warning: reboot 3434
Warning:... (3 Replies)
Discussion started by: royalibrahim
3 Replies
FLEX(1) User Commands FLEX(1)
NAME
flex - the fast lexical analyser generator
SYNOPSIS
flex [OPTIONS] [FILE]...
DESCRIPTION
Generates programs that perform pattern-matching on text.
Table Compression:
-Ca, --align
trade off larger tables for better memory alignment
-Ce, --ecs
construct equivalence classes
-Cf do not compress tables; use -f representation
-CF do not compress tables; use -F representation
-Cm, --meta-ecs
construct meta-equivalence classes
-Cr, --read
use read() instead of stdio for scanner input
-f, --full
generate fast, large scanner. Same as -Cfr
-F, --fast
use alternate table representation. Same as -CFr
-Cem default compression (same as --ecs --meta-ecs)
Debugging:
-d, --debug
enable debug mode in scanner
-b, --backup
write backing-up information to lex.backup
-p, --perf-report
write performance report to stderr
-s, --nodefault
suppress default rule to ECHO unmatched text
-T, --trace
flex should run in trace mode
-w, --nowarn
do not generate warnings
-v, --verbose
write summary of scanner statistics to stdout
Files:
-o, --outfile=FILE
specify output filename
-S, --skel=FILE
specify skeleton file
-t, --stdout
write scanner on stdout instead of lex.yy.c
--yyclass=NAME
name of C++ class
--header-file=FILE
create a C header file in addition to the scanner
--tables-file[=FILE] write tables to FILE
Scanner behavior:
-7, --7bit
generate 7-bit scanner
-8, --8bit
generate 8-bit scanner
-B, --batch
generate batch scanner (opposite of -I)
-i, --case-insensitive
ignore case in patterns
-l, --lex-compat
maximal compatibility with original lex
-X, --posix-compat
maximal compatibility with POSIX lex
-I, --interactive
generate interactive scanner (opposite of -B)
--yylineno
track line count in yylineno
Generated code:
-+, --c++
generate C++ scanner class
-Dmacro[=defn]
#define macro defn (default defn is '1')
-L, --noline
suppress #line directives in scanner
-P, --prefix=STRING
use STRING as prefix instead of "yy"
-R, --reentrant
generate a reentrant C scanner
--bison-bridge
scanner for bison pure parser.
--bison-locations
include yylloc support.
--stdinit
initialize yyin/yyout to stdin/stdout
--noansi-definitions old-style function definitions
--noansi-prototypes
empty parameter list in prototypes
--nounistd
do not include <unistd.h>
--noFUNCTION
do not generate a particular FUNCTION
Miscellaneous:
-c do-nothing POSIX option
-n do-nothing POSIX option
-?
-h, --help
produce this help message
-V, --version
report flex version
SEE ALSO
The full documentation for flex is maintained as a Texinfo manual. If the info and flex programs are properly installed at your site, the
command
info flex
should give you access to the complete manual.
flex 2.5.35 February 2008 FLEX(1)