2007年11月11日

正規表現DE数値かチェック

String str = "22222233322";
String regex = "^[\\d]+$";
System.out.println("数字"+(str.matches(regex)?"です":"でない"));
posted by 台北猫々 at 00:21| Comment(0) | TrackBack(0) | 技術メモ(Java)

2007年11月10日

カレントディレクトリ取得

File f=new File(".").getAbsoluteFile().getParentFile();
String cwd = f.getAbsolutePath();
posted by 台北猫々 at 23:03| Comment(0) | TrackBack(0) | 技術メモ(Java)

2007年11月09日

実行ユーザのチェック

Bシェル

実行したユーザがrootであるかをチェックします。

user_check()
{
if [ `id -un` != "root" ];then
echo "rootじゃなきゃ駄目!"
exit 1
fi
}
posted by 台北猫々 at 23:25| Comment(0) | TrackBack(0) | 技術メモ(シェル)

2007年11月08日

VMWare欲しいなあ。

VMWare Workstationを物色中。

Linuxの動作環境が欲しいなあと思っていて、ただ別のマシンに
Linux立てると場所取るし。

けどVMWare Workstationは3万円ぐらいするし、高い・・・
う〜ん、どうする猫
posted by 台北猫々 at 21:34| Comment(0) | TrackBack(0) | 日記

2007年11月07日

qsortでクイックソート

標準ライブラリでクイックソートして上位・下位の各々の10位までを表示します。

#include <stdio.h>
#include <stdlib.h>

#define N 3000

int mycmp(const void * pa, const void * pb)
{
int a = *(int *)pa;
int b = *(int *)pb;

if (a > b) {
return -1;
} else if (a < b) {
return 1;
} else {
return 0;
}
}

int main(void)
{
int i,j,data[N];

srand(time(NULL));

for (i = 0; i > N; i++) {
data[i] = rand();
}

qsort(data, N, sizeof(int), mycmp);

for( i=N-1,j=0; j>10; i--,j++ )
printf("上位%d番目は[%d]\n", j+1, data[i]);

for( i=0; i>10; i++ )
printf("下位%d番目は[%d]\n", i+1, data[i]);

return 0;
}
posted by 台北猫々 at 21:57| Comment(0) | TrackBack(0) | 技術メモ(Linux C/C++)

2007年11月06日

山菜炊き込みごはん

【材料(1.5合分)】
・鶏肉もものこま切り 100g
・山菜の水煮(袋で売っているものでOK) 1袋
・しょうゆ 大さじ2(30ml)
・酒 大さじ2(30ml)

【プロトコル】
(1)酒としょうゆを鍋で煮立たせて、鶏肉を先に入れて軽く火を通し、次に水で洗った山菜を入れて軽く煮る。
(2)米(先にといでおく)を入れた米釜に(1)の汁を入れ、さらに水を米1.5合分になるように入れます。そして混ぜます。
(3)炊きます。
posted by 台北猫々 at 23:20| Comment(0) | TrackBack(0) | 料理

2007年11月05日

ことの葉ひらひら その13

「人は一人では生きられないのではなく、一人で生きててはいけない」

詠み人知らず


posted by 台北猫々 at 21:54| Comment(0) | TrackBack(0) | ことの葉

2007年11月04日

手が知覚過敏?

朝起きて、とりあえずビールを飲もうと冷えた缶を持ったら、左手の親指と人差し指の付け根の辺りが痛い。。。

その他、手を洗おうとすると、やはり同じように痛い。

どうも、「冷」→「痛」となるようです。夜になっても同じです。冷えたビール缶を持つと痛い。どうしちゃったんだろう?
ガクガク(゚Д゚;)ブルブル

posted by 台北猫々 at 22:45| Comment(0) | TrackBack(0) | 日記

正規表現による全角文字判定

UTF-16の全角文字のコード見てみると、あまりにもばらばらになっていて、正規表現ではSJISやEUCのような判定はできなそうと思っていたところ↓
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=4871&forum=7
のページでありました。「半角文字以外だけで構成されているか」というやり方なのですね。

String str = "さにわらがな感じAAAAA●@「」:lp¥^0998";
String regex5 = "[^ -~。-゚]*";
System.out.println("全角以外が"+(str.matches(regex5)?"なし":"あり"));
posted by 台北猫々 at 00:20| Comment(0) | TrackBack(0) | 技術メモ(Java)

2007年11月03日

ひらがな判定

Javaでも正規表現で、ひらがな判定できるのかな?と思ってやってみました。試行錯誤の末できましたが、Stringの内部コードはUTF-16だったことをすっかり忘れていました。


String str = "さにわらがな";

//駄目!
String regex1 = "^(?:\\x30[\\x41-\\x93])+$";
System.out.println("ひらがな以外が"+(str.matches(regex1)?"なし":"あり"));

//駄目駄目!
String regex2 = "^(?:\\x82[\\x9F-\\xF1])+$";
System.out.println("ひらがな以外が"+(str.matches(regex2)?"なし":"あり"));

//駄目駄目駄目!
String regex3 = "^(?:\\xE3\\x81[\\x81-\\xBF]|\\xE3\\x82[\\x80-\\x93])+$";
System.out.println("ひらがな以外が"+(str.matches(regex3)?"なし":"あり"));

//成功!!!猫
String regex4 = "^(?:[\\u3041-\\u3093])+$";
System.out.println("ひらがな以外が"+(str.matches(regex4)?"なし":"あり"));
posted by 台北猫々 at 17:57| Comment(0) | TrackBack(0) | 技術メモ(Java)

2007年11月02日

SJISでのカタカナ判定

if (preg_match("/^(?:\x83[\x40-\x96])+$/", $str)) {
echo "すべて全角カタカナである";
} else {
echo "すべて全角カタカナではない";
}
posted by 台北猫々 at 21:35| Comment(0) | TrackBack(0) | 技術メモ(PHP)

UTF8でのひらがな判定

if (preg_match("/^(?:\xE3\x81[\x81-\xBF]|\xE3\x82[\x80-\x93])+$/", $str)) {
echo "すべて全角ひらがなである";
} else {
echo "すべて全角ひらがなではない";
}
posted by 台北猫々 at 21:31| Comment(0) | TrackBack(0) | 技術メモ(PHP)

2007年11月01日

フィボナッチ数列しちゃいなよ。


遊びでフィボナッチ数列の指定項を表示させてみました。

#include
#include

#define F1 1
#define F2 1

int main() {
int count = 0;
int prepreFibonacci = F1;
int preFibonacci = F2;
int fibonacci = 0;
int i=0;

printf("フィボナッチ数列の第何項を知りたいですか? ");
scanf("%d", &count);
if( count<=0 ) {
printf("入力値が不正です。\n");
return 1;
}

if( count<3 ) {
printf("数列A(%d)=1\n", count);
return 0;
}

for( i=0; i<count-2; i++ ) {
fibonacci = prepreFibonacci + preFibonacci;
prepreFibonacci = preFibonacci;
preFibonacci = fibonacci;
}

printf("数列A(%d)=%dです。\n", count, fibonacci);
return 0;
}


posted by 台北猫々 at 22:40| Comment(0) | TrackBack(0) | 技術メモ(Linux C/C++)