プロが教える店舗&オフィスのセキュリティ対策術

regexp関数を用いて正規表現で文字列を操作したいですが、
上手く正規表現でかけなくて困っております。

変数=第一文字列,第二文字列,第三文字列,第四文字列,第五文字列
regexp --{,,,,$} 変数 match A B C D E
と実現し、区切った文字をそれぞれA-Eの変数へ代入。

【操作文字列】
・CSV形式の”,”カンマ4つで5区分に切ります
・第一文字列は先頭の文字は空白以外の[A-Za-z0-9_]途中空白有(\s)
・第二文字列は空(,,)
・第三文字列は数字
・第四文字列は文字のみ空白なし数字なし
・第五文字列は数字文字混在

このように実現したいのですが、正規表現を見ながら
regexp --{\c\w,^\c,\d+,\w+,\c+$} 変数 match A B C D E
のようにやったのですが、無理でした

A 回答 (2件)

見たところ split で十分な気がしますが。



>regexp --{\c\w,^\c,\d+,\w+,\c+$} 変数 match A B C D E

\c って?

この回答への補足

ご回答ありがとうございます。
\cは¥sの間違いです。

splitコマンドは返り値は数字でしょうか。

補足日時:2010/04/16 06:59
    • good
    • 0
この回答へのお礼

参考になりました。ありがとうございます。
正規表現克服します。

お礼日時:2010/04/19 19:00

split が返すのはリストです。



$ tclsh
% set x {xxx,yyy,,zzz,123}
xxx,yyy,,zzz,123
% echo $x
xxx,yyy,,zzz,123
% set y [split $x ","]
xxx yyy {} zzz 123
% echo $y
"xxx yyy \{} zzz 123"
% llength $y
5
% lindex $y 1
yyy
% lindex $y 2
% lindex $y 4
123
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!