#!/bin/sh # usage: regextr [exp]* # # eg: # capt=( # /capt=) # etc. # # see your ~/.regextr for the complete syntax, or the code just below # # it can be used yet to compose expressions: # # echo lol | pcregrep "`./regextr capt captname text /captname l repeated /capt`" # if [ "X$0" = "X" ]; then echo "usage: regextr [exp]*" exit fi if [ ! -e ~/.regextr ]; then # creating default syntax file.. echo "exp=/" >>~/.regextr echo "/exp=/" >>~/.regextr echo "boundstart=^" >>~/.regextr echo "boundend=$" >>~/.regextr echo "capt=(" >>~/.regextr echo "/capt=)" >>~/.regextr echo "captor=|" >>~/.regextr echo "captname=?<" >>~/.regextr echo "/captname=>" >>~/.regextr echo "range=[" >>~/.regextr echo "notrange=[^" >>~/.regextr echo "/range=]" >>~/.regextr echo "digit=\d" >>~/.regextr echo "string=." >>~/.regextr echo "word=\w" >>~/.regextr echo "space=\s" >>~/.regextr echo "notspace=\S" >>~/.regextr echo "repeated=+" >>~/.regextr echo "maybenot=?" >>~/.regextr echo "quant={" >>~/.regextr echo "quantsep=-" >>~/.regextr echo "/quant=}" >>~/.regextr fi res="" for exp in $@; do test=`pcregrep ^$exp\= ~/.regextr | cut -d = -s -f 2` if [ "X$test" = "X" ]; then res=$res$exp else res=$res`pcregrep ^$exp\= ~/.regextr | cut -d = -s -f 2` fi done echo $res