• ベストアンサー

いずれか一つでもマッチすればOKという…

あまりにも初歩的な質問だとは思うのですがどうにも分かりませんので どうか教えていただけませんでしょうか。 例えばfoo、bar、bazと、三つの文字列を指定しておき、入力されたデータにその三つのうちのどれか一つでも含まれていればOK、一つも含まれていなければエラーになるようにするにはどうすれば良いのでしょうか。 言葉足らずだったりわかりにくいかもしれません、申し訳ありません。 どうかよろしくお願いします。

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

  • ベストアンサー
回答No.1

プログラムでしょうか? Cでしたら char i = 0; if(Data == foo || Data == bar || ~~){ i=Data; return 0; } でどうでしょうか?

kyouko_AYA
質問者

補足

早速ありがとうございます! すみません、phpなんです。 それで掲示板のようなスクリプトで、書き込まれた文字列の中にあらかじめこちらできめた三つの文字列のうち一つでも含まれていたら書き込め、一つも含まれてなかったらエラーになるという動作にしたいんです。 わかりにくい書き方ですみません。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • URLの結合

    HTMLページからAタグのhref部分を抜き出し ページのアドレスとhrefの部分から 新たなリンク先を導きだしたいのです たとえば http://***.jp/foo/ と ../bar/baz.html のような文字列があって 二つを結合して http://***.jp/bar/baz.html のようにしたいのですが このような関数は用意されてないのでしょうか? PEARでもかまいません よろしくお願いします

    • 締切済み
    • PHP
  • javascript「連結難しい」

    // ---------------------------------------- // [文字列 - 連結3] // ---------------------------------------- // 文字列fooとbarを連結して出力してください let foo = "Hello "; let bar = "World"; console.log(); console.log("foo"+"bar");は違います。文字列fooとbarする方法は何でしょうか。

  • chmod u-x .*の動作について教えて下さい

    パーミッション変更作業中に 「chmod u-x .*」としたところ予期しない動作をしました。 私事ですが、 先日これで、サーバを停止させてしまい始末書を書きました。 原因はわかったのですがコマンドの動作に理解できずに困っています。 詳しい方がおられましたら、ご教授お願いします。 よろしくお願いします。 問題は、カレントディレクトリで .(ドット)から始まる全てのファイルに対して ユーザの実行権限を削除するということで 下記のコマンドを実行しました。 「chmod u-x .*」 その結果、親と親の親ディレクトリの 実行権限まで変わってしまったということです。 カレントディレクトリには、 下記のファイル(ディレクトリ)があります。 . .. .bash_history .bash_logout .bash_profile .bashrc 「..」が変更対象に含まれている為、 「../foo」親ディレクトリが変更対象になります。 「../bar」が変更対象に含まれないのは、 「..」でも直接親子関係にないから変更対象に入らない。 そのため、 「../../home」も同じ理由で親子関係にないから変更対象に入らない と思っています。 確認した環境は RHEL4とFedora6ですどちらも結果は同じ。 ■下記に実行したコマンドを記載します。 (文字数に制限があるようなので、内容を一部加工させて頂きました。) 【コマンド入力前のパーミッション】 [root@baz /]# ls -la / | grep home drwxr-xr-x 4 root root 4096 1月 9 1:01 home [root@baz /]# ls -la /home 合計 28 drwxr-xr-x 4 root root 4096 日時 . drwxr-xr-x 3 root root 4096 日時 .. drwx--x--x 1 bar bar 4096 日時 bar drwx------ 5 foo foo 4096 日時 foo [root@baz foo]# ls -la 合計 40 drwx------ 5 foo foo 4096 日時 . drwxr-xr-x 4 root root 4096 日時 .. -rw------- 1 foo foo 165 日時 .bash_history -rw-r--r-- 1 foo foo 24 日時 .bash_logout -rw-r--r-- 1 foo foo 176 日時 .bash_profile -rw-r--r-- 1 foo foo 124 日時 .bashrc drwx------ 5 foo foo 4096 日時 Maildir drwxr-xr-x 2 foo foo 4096 日時 etc drwxr-xr-x 2 foo foo 4096 日時 public_html 【問題のコマンドを実行】 [root@baz foo]# pwd /home/foo [root@baz foo]# chmod u-x .* 【コマンド入力後のパーミッション】 [root@baz foo]# ls -la 合計 40 drw------- 5 foo foo 4096 日時 . drw-r-xr-x 4 root root 4096 日時 .. -rw------- 1 foo foo 165 日時 .bash_history -rw-r--r-- 1 foo foo 24 日時 .bash_logout -rw-r--r-- 1 foo foo 176 日時 .bash_profile -rw-r--r-- 1 foo foo 124 日時 .bashrc drwx------ 5 foo foo 4096 日時 Maildir drwxr-xr-x 2 foo foo 4096 日時 etc drwxr-xr-x 2 foo foo 4096 日時 public_html [root@baz /]# ls -la /home 合計 28 drw-r-xr-x 4 root root 4096 日時 . drwxr-xr-x 3 root root 4096 日時 .. drwx--x--x 1 bar bar 4096 日時 bar drw------- 5 foo foo 4096 日時 foo [root@baz /]# ls -la / | grep home drw-r-xr-x 4 root root 4096 日時 home

  • エクセルのセルに入力制限をかけたいのですが・・・

    エクセルのメニューバーにある『データの入力規則』からではなく、こんな制限をかけたいのですが、お分かりの方がいらしたら、教えてください。 (選択肢)    (文字)   A列       B列         4   2     マイクロソフト   3   1 A列で『2』以外を選択(『1』と『3』と『4』を選択)した場合は、B列で何も入力できなくなる設定。(『エラー音がでる』、や『-』が入力されてもOK、もちろん空白のままでもOK) A列で『2』を選択すると、B列には文字が入力できるようになる。 こんな設定はできないでしょうか? エクセルのメニューバーでの簡単な入力規則なら、使用した事はあるのですが、こういうおそらく関数を使わないとできないような設定はした事がありません。 おわかりの方がいらしたら、どうぞよろしくお願いいたします。   

  • javascriptのmatchで質問です。

    javascriptで入力された文字列の中から、指定した文字の前後の文字がアルファベッド、数字、ひらがな、空白かを判断するものを作成しています。 matchを使って作成を行っているのですが、なかなかうまくいっていないのが現状です。 どなたか知恵をお貸しいただけないでしょうか。 よろしくお願いします。 例 指定文字:1 入力:ABCD1EF 出力:アルファベッドです。 指定文字:う 入力:あいうえお 出力:ひらがなです。 指定文字:あ 入力:あいうえお 出力:前が空白で後ろがひらがなです。 という形にしたいです。

  • キーボードでOK投稿??

    再再度初歩質問ですが、 OKで回答する(質問も同様ですが)際に、ショートカットメニューと文字の入力(マウス操作をせずに!)で投稿可能でしょうか? 例えば、この質問本文のトップはどのようにして指定できるのでしょうか? それからこの下の「困り度の選択」でのチェックはどのように入れ、「次へ」の選択は・・・? ご教示ください。

  • JSでURIエンコードしてPHPでデコードしたい

    foo.htmlから読み出されたbar.js内で、リファラーをURIエンコードし、baz.phpでデコードするようにしました。 コードは以下です。 ■foo.html <script type="text/javascript" src="bar.js"></script> ■bar.js //PHPのrawurlencode互換のURIエンコード関数(らしいです) function rawurlencode(str) { return encodeURIComponent(str) .replace(/!/g, "%21") .replace(/'/g, "%27") .replace(/\(/g, "%28") .replace(/\)/g, "%29") .replace(/\*/g, "%2A") .replace(/~/g, "%7E"); }; ref = rawurlencode(document.referrer); document.write('<img src="/bar.php?ref=' +ref); ■baz.php rawurldecode($_GET["ref"]); これでfoo.htmlがUTF8であった場合は正常にリファラが取得できました。(日本語も含め) しかし、foo.htmlがShift-JISであった場合、リファラ内の日本語部分が文字化けしてしまいます。 色々と試行錯誤してはみたのですが、どうしても解消されません。 どなたかお力をお貸しください。 よろしくお願いいたします。

  • Excelのことですっごく困ってます!!!!

    エクセルでオートフィル機能を使うと連続データの入力や文字列などをコピーしたり出来ますよね!! そこで質問なんですが、数百の数値が入力されていて指定したセルに数式を入力してオートフィル機能を実行すれば簡単に全部にその数式が適用されるとは思うのですが、数百の数値の中に文字列が入力されている場合「0」か「エラー」が入力されてしまうと思うのですが、文字列だけを飛ばして数値入力されている行だけに数式を適用されるようにすることは出来ないのでしょうか???? データが限りない数あります。文字列の行に入力されてしまう「0」や「エラー」を消すだけでもかなりの数になってしまうのです。期限のあるものなのですごく困ってます!! エクセルの詳しい方大至急助けてください!!!!!!!!!!

  • 正規表現 matchメソッド

    Ruby認定試験対策問題の解説の中で、分からない箇所があったので、教えてください。 ■問題9の一部 s = "I slit the sheet, the sheet I slit, and on the slitted sheet I sit." /sheet/.match(s).length ■説明 文字列sの中と正規表現/sheet/にマッチした全体の文字列とマッチした部分文字列の配列の数を取得します。 ■回答 => 1 ■irbで自分なりに試してみた内容 irb> s = "I slit the sheet, the sheet I slit, and on the slitted sheet I sit." => "I slit the sheet, the sheet I slit, and on the slitted sheet I sit." irb> /sheet/.match(s).length => 1 irb> /sheet/.match(s) => #<MatchData:0x2c28d30> irb> /sheet/.match(s).class => MatchData irb> /sheet/.match(s).to_a => ["sheet"] irb> /sheet/.match(s).offset(0) => [11, 16] ■疑問 ・match(s).lengthの答えが、どうして1になるか分からない。 ・説明の中の「正規表現/sheet/にマッチした全体の文字列」とは何を指すのか? ・説明の中の「マッチした部分文字列の配列」が何を意味しているか? ・返ってきたMatchData オブジェクトの中身は何?  [11, 16]だけってこと? 一応、リファレンスも覗いてみたのですが、そこに掲載されていた内容もよく理解できませんでした。 http://www.ruby-lang.org/ja/man/html/Regexp.html#match bar = /foo(.*)baz/.match("foobarbaz").to_a[1] foo, bar, baz = /(foo)(bar)(baz)/.match("foobarbaz").to_a.values_at(1,2,3) さらに、そこに掲載されていた「正規表現にマッチした部分文字列だけが必要な場合に」 ってのは、どういう意味なのでしょうか。

    • ベストアンサー
    • Ruby
  • マッチした回数を知るには

    たとえば$testの中に "abc"という文字列がいくつ(何回)含まれているか? ということを知りたい場合、 どのようにコーディングすればよいのでしょうか? 初歩的な質問で恐縮ですが、どなたかご教示ください。 よろしくお願いします。

    • ベストアンサー
    • Perl