- 1 名前:デフォルトの名無しさん [2013/12/17(火) 14:19:52.00 ]
- Regular Expressionスレです。
質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。 前スレ Regular Expression(正規表現) Part11 toro.2ch.net/test/read.cgi/tech/1362913813/ 天ぷら等2以降
- 16 名前:デフォルトの名無しさん [2013/12/18(水) 00:11:20.15 ]
- >>14
どうしても$1〜$3に入ってなきゃダメかね? my $fname; my $mname; my $lname; if ( $buf =~/([a-zA-Z]*)[\s\.・==]([a-zA-Z]*)[\s\.・==]*([a-zA-Z]*)/ ){ $fname = $1; if (length($3)==0){ $lname = $2; }else{ $mname = $2; $lname = $3; } }
- 17 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 00:13:22.40 ]
- >>14
先ずは正規化して、どれかのルールに置き換えた方がいいと思う。
- 18 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 00:22:55.22 ]
- >>16
日本語は?
- 19 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 00:45:13.94 ]
- sub namechk{
$buf=shift; #引数として名前を受け取る if ($buf=~/(.+)(\s|\.|=|・)(.+)(\s|\.|=|・)(.+)/){ return ($1,$3,$5); }elsif ($buf=~/(.+)(\s|\.|=|・)(.+)/){ return ($1,"",$3); } } こっちのほうがいい。
- 20 名前:デフォルトの名無しさん [2013/12/18(水) 00:58:54.76 ]
- 正規化しろ
- 21 名前:デフォルトの名無しさん [2013/12/18(水) 01:01:51.51 ]
- 正規化しろ
- 22 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 01:12:12.27 ]
- 正規表現縛りな奴って何考えて生きてんの?
- 23 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 01:42:16.31 ]
- 正規化したら1行余計なものが増えるじゃん
sub namechk{ $buf = shift; $buf =~s/(\s|\.|=|=|・)/"."/meg; if ( $buf =~/(.+)\.(.+)\.(.+)/ ){ return ( $1 , $2 , $3 ); }elsif ( $buf =~/(.+)\.(.+)/ ){ return ( $1 , "" , $2 ); } }
|

|