- 締切済み
正規表現について
どうも納得出来ない動作なので質問させてください。 下記のようにコマンドを打ち込んだとします。 ---------- grep -E ^A.*$Z ファイル名 ---------- ■ファイル内容 Ab3dZ abdddZ AZ 234$Z F****Z ---------- すると「Ab3dZ」と「AZ」が引っかかります。 「.」は任意の一文字、「*」は0回以上の繰り返しをあらわすと認識しております。 そうすると、なぜ「Ab3dZ」が引っかかるのかが良く分かりません。 教えて頂けないでしょうか。 宜しくお願いします。
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- sakusaker7
- ベストアンサー率62% (800/1280)
- sakusaker7
- ベストアンサー率62% (800/1280)
- sakusaker7
- ベストアンサー率62% (800/1280)
- kumoz
- ベストアンサー率64% (120/185)
- vaidurya
- ベストアンサー率45% (2714/5983)
- junkUser
- ベストアンサー率56% (218/384)
- junkUser
- ベストアンサー率56% (218/384)
関連するQ&A
- 正規表現の使い方
仕事で悩んでいます。 私の仕事はログファイルから、月々何件アクセスしたか調べる仕事です。 コマンドプロンプトでsort、grep、wcなど色々使い方を勉強していくうち、 今度は難しいのが出てきて悩んでいます。 そのまま書き移したら、皆さんは分からないし、会社のプライバシーに関わるので、簡単に書きます。 例えば、 ABC10 ABC10 ZP-22 AB-V5 AA10 PP122 と数字があり、 頭文字のAの部分を集めたいところに私は grep -e "資料番号の頭文字" 入力ファイル > 出力ファイル とコマンドプロンプトで打ち、下記の通りになりました。 AB-V5 AA10 AB-V5 AA10 だが、問題は途中にあるAB-V5は仲間ではないので、 それを省きたいのです。 上記の例は数少ないので手入力でもできますが、実際は1万以上もあるので、 手入力はできません。 上司に聞いたところ、 A[0-9].* の正規表現を使えと言われましたが、 全くやり方わかりません。 正規表現について勉強したのですが、全く理解ができず、仕事が遅れています。 皆さんの知恵を借りたいと思います。 よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- UNIXコマンドのパターンマッチング(grep)について
*または?(ワイルドカード)のマッチングはできないでしょうか? 例)12345*AB*678 先頭、後部でのマッチングは↓で可能でしたがここで行き詰ってしまいました。 ^grep "12345*" file名 | grep -e "*678" UNIXコマンドを使ってのよい方法があったらご教授ください。 どうぞ宜しくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- コーシーの積分公式について
コーシーの積分公式を使って、f(z)=1/{(z-a)(z-b)}とした ∮f(z) dz を求める過程に違和感を感じるので、誤っているところの指摘をお願いいたします。 f(z)=1/{(z-a)(z-b)}として、 C_ab を極a, bを囲む閉曲線, C_aを極aのみを囲む閉曲線, C_b を極bのみを囲む閉曲線とします。これらの閉曲線の向きはいずれも反時計回りとします。 このとき、極a,bを避けるような周回積分によって(a)式が成り立つと思います。 ∮_C_ab f(z) dz - ∮_C_a f(z) dz - ∮_C_b f(z) dz = 0 …(a) g(z) = 1/(z-a)とすると、 ∮_C_b f(z) = ∮_C_b g(z)/(z-b) dz = 2πi g(b) = 2πi / (b-a) …(b) h(z) = 1/(z-b)とすると、 ∮_C_a f(z) = ∮_C_a h(z)/(z-a) dz = 2πi h(a) = 2πi / (a-b) …(c) よって、 ∮_C_ab f(z) dz - 2πi / (b-a) - 2πi / (a-b) = ∮_C_ab f(z) dz = 0 …(d) となってしまいます。(d)は f(z) の正則性からしてもありえないことだと感じるのですが、どの式変形の途中で誤ってしまったのでしょうか。
- ベストアンサー
- 数学・算数
- ファイルからの文字列を検索
テキストファイルを読み込み、任意の文字列を探すプログラムを作成しました。 これを改良し、ワイルドカード入力をした場合、*をa~zとA~Zに変えて、それぞれで検索しようとしています。ワイルドカードにはいる文字は1文字です。 「a*」と検索すれば「aa」、「ab」~「az」、「aA」、「aB」~「aZ」と検索し、合致したものを出力したいのです。 回答が欲しいとは思いますが、ヒントや考え方など何でも結構ですので、お力添えをお願いいたします。
- ベストアンサー
- C・C++・C#
- 積分路に不連続点をもつ複素積分
参考書では, ∫_C f(z) dz を考えるとき, f(z) が C の任意の点で連続であることを仮定しています。 それなのに, f(z) = |z|/z, C : |z - 1| = 1 のとき, ∫_C f(z) dz を求めよ, という問題があって、まったく解けません。 C 上の点 z = 0 において, f(z) は不連続である以前に定義されていません。 こういう問題はどのように解いたらいいのか、考え方とできれば答を教えてください。 よろしくお願いします。
- 締切済み
- 数学・算数
- 複素積分の問題について。
複素積分の問題を解いてみたのですが、手元に答えがないうえに合っているか自信がないので、チェックしていただけると助かります。解法に誤りがあったらどうぞ指摘してください。自分の中では、留数の求め方が怪しいです。 以下、積分の経路Cは原点中心半径8の円で正の向きとします。 (1)∫ 1/sin(z) dz (2)∫ 1/(1-cos(z)) dz (3)∫ (1+z)/(1-e^z) dz (4)∫ tan(z) dz (1)∫ 1/sin(z) dz f(z)=1/sin(z) について、f(z) は z=mπ で特異点をとり、特にCの内部では z=0,±π,±2π が特異点となる。 ここで各点における留数を求めると、 Res(0)=1 Res(π)=-1 Res(-π)=-1 Res(2π)=1 Res(-2π)=1 となるので、 ∫ 1/sin(z) dz=2πi(1-1-1+1+1)=2πi (2)∫ 1/(1-cos(z)) dz f(z)=1/(1-cos(z)) について、f(z) は cos(z)=1、つまり z=2mπ で特異点をとり、特にCの内部では z=0,±2π が特異点となる。ここで f(z) を z=0 のまわりで展開すると、 f(z)=1/(1-1/2(z^2)+1/24(z^4)-・・・) =1/(1/2(z^2)-1/24(z^4)+・・・) であることから、Res(0)=0 同様に、Res(π)=0,Res(-π)=0 なので、 ∫1/(1-cos(z)) dz=2πi・0=0 (3)∫ (1+z)/(1-e^z) dz f(z)=(1+z)/(1-e^z) について、f(z) は z=2πim(mは整数)で特異点をとり、とくにCの内部では z=0,±2πi で特異点となる。ここで、 Res(0)=-1 Res(2πi)=-1-2πi Res(-2πi)=-1+2πi となるので、 ∫(1+z)/(1-e^z) dz=2πi(-1-1-2πi-1+2πi)=-6πi (4)∫ tan(z) dz f(z)=tan(z)=sin(z)/cos(z) について、f(z) は z=(2m+1)π/2 で特異点をとり、特にCの内部では z=±π/2、±3π/2,±5π/2 で特異点となる。ここで、 Res(±π/2)=-1 Res(±3π/2)=-1 Res(±5π/2)=-1 となるので、 ∫tan(z) dz=2πi・(-6)=-12πi
- ベストアンサー
- 数学・算数
お礼
ふだん、あまり正規表現を使わないので、分からない事が結構多いです。 もう一度、正規表現のメタ文字としての . と * の意味を確認してみます。 回答、ありがとうございました。