12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #!/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
|