-PR-
  • すぐに回答を!
  • 質問No.7838558
解決
済み

正規表現で分かりません

  • 閲覧数57
  • ありがとう数0
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 24% (94/379)

例えば以下のようなパターンの正規表現チェックがあるのですが、
どのようなものを意味しているか分かりません。
教えていただけますでしょうか。
よろしくお願いします。
以下の情報は調べたのですが。
+(プラス)・・・直前の1文字の1回以上の繰り返しを表現
. (ピリオド)・・・改行コード以外の1文字にマッチするか否か
[ ](大括弧)・・・囲みの中に書かれた任意の1文字にマッチするか否か

^([^ ]+) +[^ ]+.+S3.lzh
  • 回答数1
  • 気になる数0

質問者が選んだベストアンサー

  • 回答No.1
レベル14

ベストアンサー率 55% (1857/3366)

正規表現は、ツール毎に異なります。
何で使うものかをはっきりさせないと、まったく違う意味になる可能性もあります。
例えば、こんな風に
http://www.kt.rim.or.jp/~kbk/regex/regex.html
調べる場合にも使う場合にも、何用の正規表現かをはっきりさせましょう。

以下、よくある実装として。

> +(プラス)・・・直前の1文字の1回以上の繰り返しを表現

「1文字」ではなく、直前の(ひとまとまりの)パターンが1回以上 です。
たとえば
[^ ]+
では
[^ ]
[^ ][^ ]
[^ ][^ ][^ ]
(以下略)
のように [^ ] を1つ以上繰り返したパターンのどれかに一致する、という意味です。

> [ ](大括弧)・・・囲みの中に書かれた任意の1文字にマッチするか否か
もう一つ、 [^ ]などと、^が最初に付くと、 []で指定した文字以外、という意味になります。


その他、先のURLなどを参考にすれば
^ 先頭から
([^ ]+) 空白で無い文字が1つ以上。()でくくってあるので、後から参照する等の使い方ができる
+ その後に空白が1つ以上
[^ ]+ その後に空白で無い文字が1つ以上
.+ その後に任意の文字が1つ以上
S3 そのまま「S3」
. 任意の一文字( そのまま . に一致させたいと予想される)
lzh そのまま「lzh」

となります。
おそらく、 空白を含むlzhファイルから、その最初の空白までの単語を抜き出したいのかな、と予想されます。
ただ、 S3Xlzh とか S3.lzhXA とかもマッチします。
  • ありがとう数0
-PR-
-PR-
  • 回答数1
  • 気になる数0
このQ&Aで解決しましたか?

関連するQ&A

-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


-PR-

ピックアップ

-PR-
ページ先頭へ