- ベストアンサー
正規表現で悩んでいます。
正規表現で悩んでいます。 Linuxを触っているのですが、例えば3番目の=と4番目の=の間の文字を取得するには どうしたらいいのでしょうか? 悩んでてらちがいかないので質問させていただきました。 $ echo "ewfja=iojoi=erewo=rjabc=123" | sed -e ""
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- sedの正規表現について
下記のsedコマンド正規表現の意味がわかりません どのような動きをしているのか教えて下さいm(__)m $ file_name="linux.txt" $ echo $file_name | sed -e "s/.*\.\([^.]*\)\$/\1/g" txt
- 締切済み
- Linux系OS
- 正規表現の初心者です
正規表現初心者です。 なぜ、 [0-9]+ という正規表現が下記の112にあたらないのでしょうか? 0-9(数字)の一文字以上の繰り返しなので、複数桁の数字にマッチすると思ったのですが・・。 echo 112|grep -e "[0-9]+" > (マッチせず)
- ベストアンサー
- Linux系OS
- 正規表現の 「 * 」
正規表現の 「 * 」は、直前パターンの繰り返しですよね? つまり、a* は a, aa, aaa, aaaa, aaaaa, ..... にマッチするわけですよね? ところで、 echo abbbaaa | sed 's/a*/x/g' のようにしたら a, aaa の部分が x に置き換わって → xbbbx となることを期待していたのですが、 → xbxbxbx となってしまいました。 なぜでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
- 正規表現: (111)-(222)-(333)
正規表現: (111)-(222)-(333) から (333)を取得したいと考えています。 ()で囲まれた数字のうち、最後のものを取得するというもので、 この、最後のという考えを実装することができずに困っています。 なぜ最後にこだわるかというと、以下のような例があるからです。 ◆ (111)english(222) ◆ (111)日本語(222)日本語 文字列中に含まれる()で囲まれた数字のうち、最後のものを取得する正規表現を教えてください。
- 締切済み
- その他([技術者向] コンピューター)
- 正規表現を教えてください。
正規表現を教えてください。 C#で正規表現を用いた文字列検索を勉強中なのですが、うまくマッチさせることができません。教えていただけないでしょうか。 検索対象の文字列は下のようになります。 キーワード;値; 文字列中に該当するキーワードが存在する場合に、その値を取得するプログラムを考えています。しかし、私の正規表現では2つ目の「;」を検出してしまい、キーワードのみを取得することが出来ずに困っています。 見当違いの表記をしているとは思うのですがどなたかお助けください。 match = Regex.Match(line, "^(.*);"); C#初心者なものです。
- ベストアンサー
- Microsoft ASP
- Linuxの正規表現について
Linuxの正規表現について教えてください。 正規表現を使うと、文字列のパターンを表す事ができる。例えば、行頭が「#」で始まる行は____、aもしくはfで始まる三文字の文字列は____となる という問題なんですけど____の部分をだれか教えてください。明日テストなんだけどわからくて… お願いします。
- ベストアンサー
- その他([技術者向] コンピューター)
- sedの正規表現でグループ化する場合について
1 echo "00012345" | sed -e "s/[0]*\(1234\)/\1/" と入れた時、想定したのは1234なのですが、 実際には12345と出力されます。 2 echo "00012345" | sed -e "s/[0]*\(1234\)5/\1/" と打つと1234になります。 グループ化してるので、1234だけが抽出されると思ったのですが、 なぜ1の時は5まで出力されるのでしょうか ちなみにgrepを使って検索すると echo "00012345" | egrep -o "(1234)" 1234と出て、グループ化でマッチングした物しか出ません
- ベストアンサー
- その他(プログラミング・開発)
- 2つの正規表現の違いは?
次の正規表現を使った置換の違いがよく分かりません。 $strString="abcd<!--s_1-->うほほ<!--e_1-->efg"; echo preg_replace("/<!--s_1-->.*<!--e_1-->/","<!--s_1-->なんと<!--e_1-->",$strString); $strString="abcd<!--s_1-->うほほ<!--e_1-->efg"; echo preg_replace("/<!--s_1-->.*?<!--e_1-->/","<!--s_1-->なんと<!--e_1-->",$strString); .* と .*? なんですが、どういったところで違いがでるのでしょうか?
- 締切済み
- PHP
- sedを使ってHTMLファイルのタグを置き換えたいのですが、正規表現が
sedを使ってHTMLファイルのタグを置き換えたいのですが、正規表現が上手く使いこなせなくて困っています。 実際のファイルには、<td class="style1" id="sequence1" >と書かれてある部分があり、これを<td>に置き換えたいのです。 それで、試しに sed -e 's/<td*>/<td>/g' ファイル名 と記述しましたが出来ませんでした。 正規表現の書き方が間違っているとは思うのですが、時間がなくお聞きすることにしました。 正しい書き方を教えて頂けますでしょうか。
- ベストアンサー
- Linux系OS
お礼
ありがとうございます。 正規表現を使うよりわかりやすかったので、 今回はこの方法を使います。