
完全なメモ書きです。
^[a-zA-Z0-9]+[a-zA-Z0-9\._-]*@[a-zA-Z0-9_-]+\.[a-zA-Z0-9\._-]+$

完全なメモ書きです。
^[a-zA-Z0-9]+[a-zA-Z0-9\._-]*@[a-zA-Z0-9_-]+\.[a-zA-Z0-9\._-]+$
PHPにはファイルの有無を調べるfile_existsという便利な関数がありますが、
外部サーバーのファイルを確認することはできません。
そこで、HTTPヘッダーを取得し、ステータスコードからファイルの有無を確認してみましょう。
まずはHTTPヘッダーを取得。
$response = get_headers([任意のURL]);
取得したヘッダーからステータスコードを抜き出す。
ステータスコードは配列で返ってきたヘッダーの先頭にあるので、$response[0]の中から数字3桁をpreg_matchを使って抜き出します。
preg_match("/.*(\d{3}).*/", $response[0], $matches);
HTTPステータスコードを数値に変換。
$response_code = intval($matches[1]);
ステータスコードが200であればファイルが存在する、ということになります。
関数を作ると次のような感じになります。
function myFileExists($str_path) { // HTTPヘッダーを取得 $response = get_headers($str_path); // HTTPステータスコードを抜き出す if(preg_match("/.*(\d{3}).*/", $response[0], $matches)) { // HTTPステータスコードを取得 $response_code = intval($matches[1]); if($response_code == 200) { return true; } else { return false; } } else { return false; } }
キャラクタークラス([])を使用する場合、[]内ではエスケープが無効化されます。
※言語の種類等によってエスケープが有効なものもあるようです。
その中で特殊な意味を持つ記号を通常のキャラクターとしてクラスに含めたいときは
記述する位置に注意する必要があります。
例えば「]」、「^」、「-」等です。
^ | [の直後以外 |
---|---|
] | [の直後 |
– | リストの最後 |
参考URL: http://www.kt.rim.or.jp/~kbk/regex/regex.html
正規表現で、特定の文字を含まない文字列の検索と、
特定の文字列を含まない文字列の検索
テキスト例
「abc」 「bca」
特定の文字を含まない文字の繰り返し
「[^abc]*?」
この場合、「abc」も「bca」も検索にひっかかりません。
これは“a”と“b”と“c”が、それぞれ単独の文字として処理されるからです。
文字ではなく、文字列を指定して検索したい場合、以下のようにします。
特定の文字列を含まない文字の繰り返し
続きを読む…»
VBで正規表現を使った文字列検索を実装します。
Dim regEx As Object Dim Matches As Variant '正規表現オブジェクト Set regEx = CreateObject("VBScript.RegExp")
'検索文字列全体について検索する 'regEx.Global = True '最初の一致を検索する(既定値) 'regEx.Global = False '検索するときに大文字と小文字を区別しない 'regEx.IgnoreCase = True '検索するときに大文字と小文字を区別する(既定値) 'regEx.IgnoreCase = False '検索するパターン regEx.Pattern = "検索パターン"