validate date pattern using Regular Expression


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting validate date pattern using Regular Expression
# 1  
Old 04-19-2010
validate date pattern using Regular Expression

Hi,
i am java guy and new to unix.
I want to validate date pattern using Regex expression
here is the sample program i have written.

Code:
#!/bin/sh
checkDate="2010-04-09"
regex="\\d{4}-\\d{2}-\\d{2}\$"
echo $regex
if [[ $checkDate =~ $regex ]]
then
    echo "OK"
else
    echo "not OK"
fi

But the ouput is "not Ok"
Please help me.

Last edited by pludi; 04-19-2010 at 04:58 AM.. Reason: code tags, please...
# 2  
Old 04-19-2010
You could try this with standard globbing:
Code:
#!/bin/bash or #!/bin/ksh93
checkDate="2010-04-09"
regex="[1-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]"
echo $regex
if [[ $checkDate =~ $regex]]
then
    echo "OK"
else
    echo "not OK"
fi


Last edited by Scrutinizer; 04-19-2010 at 04:25 PM.. Reason: Changed glob to regex. Somehow thought globs were used for regex, but that is incorrect. Tnx Snemetz
# 3  
Old 04-19-2010
Fixed regex

Change your regex to

Code:
regex='[0-9]{4}-[0-9]{2}-[0-9]{2}$'

\d is part of the extended regex set, which bash does not support by default.
There may be a way to get it to use the extended set, but I've haven't checked.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Regular Expression repeat pattern

Hi, I'm struggling with very very simple task but dont know where I'm going wrong. Have the following file numbers.txt 1 12 123 1234 12345 123456 1234567 12345678 123456789 1234567890 9876543210 987654321 98765432 9876543 987654 98765 (1 Reply)
Discussion started by: bobbygsk
1 Replies

2. Solaris

Regular Expression in Date ls command

Hi, I have got a problem in a regular expression with a file name containing date. I am using a regular to display the file in ls, but by using the same it gives me file name does not exist. --## File exist when I do ls. ls amey_in20131018.csv --## File name not showing when I use... (5 Replies)
Discussion started by: ameyrk
5 Replies

3. Shell Programming and Scripting

Pattern search (regular expression in UNIX)

Hello , Could anyone help me to define the string in regular expression way . Below is my string \rtf1\ansi\deff0{\fonttbl{\f0\fswiss Helv;}{\f1\fnil MS Sans Serif;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\lang1033\f0\fs16 The string will always start as \rtf1 and... (6 Replies)
Discussion started by: Pratik4891
6 Replies

4. Shell Programming and Scripting

Regular expression to validate sql's

Hi, I have 2 different templates of sql's in a single file. From each sql I am trying to extract different segments of the sql's. Please note that the number of fields and conditions would vary based on the sql. It might not adhere to a single format as below(but will adhere to allowable sql... (4 Replies)
Discussion started by: hitmansilentass
4 Replies

5. 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

6. Shell Programming and Scripting

Regular Expression for Random pattern

What would be the regular expression that can search for a Pattern, having 8 characters out of which atleast 1 digit, 1 lower case, 1 upper case letter and 1 special character must be there. But these can occur at any place randomly. Please help me out. I'm using find $dir -name "*.txt" -exec... (0 Replies)
Discussion started by: Pradeep Kr.
0 Replies

7. Shell Programming and Scripting

Validate time pattern using regular expression

Hi, I am new to scripting. please help me in validating the user entered time Pattern Here is the program #!/bin/bash validateTimeFormat() { checkTime=$1 timePattern="::" if ] then echo "Valid time pattern" return 1 else echo "InValid time pattern" return -1 fi } echo "Please... (2 Replies)
Discussion started by: vvenu88
2 Replies

8. Shell Programming and Scripting

awk + pattern search with regular expression

Hi , I have a file with "|" (pipe) as a delimeter. I am looking for the record count where 5th field is a number with 15 digit length only. all the records with above requirement is valid rest all are invalid. I need count of valid records and invalid records. Can anyone please help (9 Replies)
Discussion started by: vikash_k
9 Replies

9. Shell Programming and Scripting

Regular Expression to exclude pattern

Hi All I am using regular expressions to determine how to group certain data. I've included an example of the data below. USD_SPTR_2Y_725.5_PUT_EUROPEAN_09Q1|USD||European| CAD_NDX_10Yx1Y_5.5_PUT_EUROPEAN_09Q1|CAD||European| The regular expressions I am using is as follows and this is... (5 Replies)
Discussion started by: kingpin2502
5 Replies

10. Shell Programming and Scripting

validate a string against a regular expression

Hi there i have a script which will create unix user accounts. Id like to validate the entered string so that it is specifically 8 characters or less and consists of only ! not Is there a way to validate a string against a regular expression.. i.e size=`printf "$var | wc -m` ... (1 Reply)
Discussion started by: hcclnoodles
1 Replies
Login or Register to Ask a Question