トップ  > メモ一覧  > カテゴリ「正規表現」の絞り込み結果 : 18件

18件中 1 〜 10 表示  1 | 2  次の8件> 最後»

No.4354 正規表現:複数の単語の否定

正規表現:複数の単語の否定

== size, place を含まない場合はマッチ

@/birds/((?!(size|place)).)+/@

更新:2012/03/20 05:05 カテゴリ: PHP  > 正規表現 ▲トップ

No.3447 メールで化ける文字を使いたくない


// メールで化ける文字を使いたくない(JIS X 0208 のみ認める)
// match した場合エラー

// 半角カタカナ認めない場合
$pattern = '~^(?:
    [\x00-\x7F]|                                                      # ASCII
    [\x89-\x97\x99-\x9F\xE0-\xE9][\x40-\x7E\x80-\xFC]|                # 17-46,49-82区
    \x81[\x40-\x7E\x80-\xAC\xB8-\xBF\xC8-\xCE\xDA-\xE8\xF0-\xF7\xFC]| # 1,2区
    \x82[\x4F-\x58\x60-\x79\x81-\x9A\x9F-\xF1]|                       # 3,4区
    \x83[\x40-\x7E\x80-\x96\x9F-\xB6\xBF-\xD6]|                       # 5,6区
    \x84[\x40-\x60\x70-\x7E\x80-\x91\x9F-\xBE]|                       # 7,8区
    \x88[\x9F-\xFC]|                                                  # 16区
    \x98[\x40-\x72\x9F-\xFC]|                                         # 47,48区
    \xEA[\x40-\x7E\x80-\xA4]                                          # 83,84区
  )+$~x';

// 半角カタカナ認める場合
$pattern2 = '~^(?:
    [\x00-\x7F\xA1-\xDF]|                                             # ASCII,半角カタカナ
    [\x89-\x97\x99-\x9F\xE0-\xE9][\x40-\x7E\x80-\xFC]|                # 17-46,49-82区
    \x81[\x40-\x7E\x80-\xAC\xB8-\xBF\xC8-\xCE\xDA-\xE8\xF0-\xF7\xFC]| # 1,2区
    \x82[\x4F-\x58\x60-\x79\x81-\x9A\x9F-\xF1]|                       # 3,4区
    \x83[\x40-\x7E\x80-\x96\x9F-\xB6\xBF-\xD6]|                       # 5,6区
    \x84[\x40-\x60\x70-\x7E\x80-\x91\x9F-\xBE]|                       # 7,8区
    \x88[\x9F-\xFC]|                                                  # 16区
    \x98[\x40-\x72\x9F-\xFC]|                                         # 47,48区
    \xEA[\x40-\x7E\x80-\xA4]                                          # 83,84区
  )+$~x';

$a = 'あ';// チェック対象 
$a = mb_convert_encoding($a, 'sjis-win', 'UTF-8');
   
$ret = preg_match($pattern, $a, $m);
$ret2 = preg_match($pattern2, $a, $m2);
var_dump('半角カタカナ認めない', $ret );
var_dump('半角カタカナ認める',   $ret2);

更新:2011/02/20 16:31 カテゴリ: PHP  > 正規表現 ▲トップ

No.3446【引用】文字の正規表現

文字の正規表現

# 半角スペース
$space = '\x20';

# 全角スペース
$Zspace = '(?:\xA1\xA1)'; # EUC-JP
$Zspace_sjis = '(?:\x81\x40)'; # SJIS

# 全角数字 [0-9]
$Zdigit = '(?:\xA3[\xB0-\xB9])'; # EUC-JP
$Zdigit_sjis = '(?:\x82[\x4F-\x58])'; # SJIS

# 全角大文字 [A-Z]
$Zuletter = '(?:\xA3[\xC1-\xDA])'; # EUC-JP
$Zuletter_sjis = '(?:\x82[\x60-\x79])'; # SJIS

# 全角小文字 [a-z]
$Zlletter = '(?:\xA3[\xE1-\xFA])'; # EUC-JP
$Zlletter_sjis = '(?:\x82[\x81-\x9A])'; # SJI...

引用元

更新:2011/02/20 15:47 カテゴリ: PHP  > 正規表現 ▲トップ

No.3238 正規表現の要注意修飾子: e


PHP コードとして評価される@@


e (PREG_REPLACE_EVAL)
この修飾子を設定すると、preg_replace() は、置換文字列において後方参照に関する通常の置換を行った後、 PHP コードとして評価し、検索文字列を置換するためにその結果を 使用します。 置換された後方参照においては、 単引用符や二重引用符、バックスラッシュ (\)および NULL 文字は バックスラッシュでエスケープされます。

この修飾子を使用するのは、preg_replace()のみです。 他の PCRE 関数では無視されます。


例4 'e' 修飾子の使用

<?php
preg_replace
("/(<\/?)(\w+)([^>]*>)/e",
             
"'\\1'.strtoupper('\\2').'\\3'",
             
$html_body);
?>

入力テキストのすべての HTML タグを大文字に変換します。







引用元

更新:2010/11/25 14:26 カテゴリ: PHP  > 正規表現 ▲トップ

No.2702 ■NGワードの正規表現

■NGワードの正規表現
((^|[^カ])フェラ|フェラ($|[^テ]))
(^|[^パ])チンコ


えっち($|(?!ゃん))
((^|[^イ])エロ|エロ($|[^ー]))

■電話番号
[a-za-zA-ZA-Z0-90-9〇○十零一二三四五六七八九壱弐参伍__\..\--―‐ーー−\++十]{3,}[@@][a-za-zA-ZA-Z0-90-9〇○十零一二三四五六七八九壱弐参伍\--―‐ーー−\..]{3,}

(^|[^0-90-9oOoO〇○十零一二三四五六七八九壱弐参伍\--―‐ーー−])([00零oOoO〇○][0-90-9oOoO〇○十零一二三 四五六七八九壱弐参伍]{0,2})?[\--―‐ーー−]?[0-90-9oOoO〇○十零一二三四五六七八九壱弐参伍]{4}[\--―‐ーー−]? [0-90-9oOoO〇○十零一二三四五六七八九壱弐参伍]{4}($|[^0-90-9oOoO〇○十零一二三四五六七八九壱弐参伍\--―‐ーー −])


更新:2010/06/16 12:19 カテゴリ: PHP  > 正規表現 ▲トップ

No.2037 正規表現にUTF-8を使うには/uオプションをつける。

正規表現にUTF-8を使うには/uオプションをつける。

Filed under: 正規表現 — ne-zu @ 23:14:34 このエントリをはてなブックマークに追加

正規表現を組んでいて、なんだか思い通りの挙動をしないなーと思った時、思い出してください。

マニュアル:パターン修飾子

u (PCRE_UTF8)
この修正子は、Perl 非互換な PCRE の機能を有効にします。パターン 文字列は、UTF-8 エンコードされた文字列として処理されます。 この修正子は、UNIX では PHP 4.1.0 以降、Win32 では PHP 4.2.3 以降で 使用可能です。 また、PHP 4.3.5 以降では、パターンの UTF-8 としての妥当性も確認されます。

UTF-8な文字列をpreg系で使っている時は、uオプションを有効にしましょう!

引用元

更新:2010/01/25 19:50 カテゴリ: PHP  > 正規表現 ▲トップ

No.1983 末尾に空白とかがないか?

末尾に空白とかがないか?

$a = array();
$a[] = 'だいなむ';
$a[] = 'haha ';
$a[] = 'haha ';
$a[] = <<< EOT
haha

EOT;

mb_regex_encoding('UTF-8');
foreach ($a as $name)
{
  if (mb_ereg('[\s ]+$', $name)) var_dump($name);
}
更新:2010/01/11 01:27 カテゴリ: PHP  > 正規表現 ▲トップ

No.1880 複数行を対象とする

「s」オプションをつける
'/<a href="([a-zA-Z0-9:;~%#?&=\-\+_\.\/]+)" target="_blank">(.*?)<\/a>/is'
更新:2009/12/15 11:47 カテゴリ: PHP  > 正規表現 ▲トップ

No.1867 いろいろ


'/<span[ ]*[\s0-9a-zA-Z\"\:;~%#?&=\-\+_\.\/\(\),]*style=\"[ 0-9a-zA-Z:;~%#\-\+_\.\/\(\),]*font-size:[ ]*small[ ]*;?[ 0-9a-zA-Z:;~%#\-\+_\.\/\(\),]*\">(.*?)<\/span>/i' => '<op:font size="2">$1</op:font>'


更新:2009/12/13 23:21 カテゴリ: PHP  > 正規表現 ▲トップ

No.1829 パターンマッチの規則である最長マッチと最短マッチを理解する

パターンマッチの規則である最長マッチと最短マッチを理解するAdd StarItisango

正規表現 パターンマッチの規則である最長マッチと最短マッチを理解する

#!/usr/bin/perl

use strict;
use warnings;

### 最長マッチと最短マッチ

my $word = 'asas';

my $long_match = 'a.*s'; 
                      # 「a がきて、任意の文字が0文字以上で、s」 という意味だが
                      # これは、asas にマッチします。Perlの正規表現は、   
                      # マッチする文字が最長になるように、マッチを行います。
                      
my $short_match = 'a.*?s'; # 量指定子 * の後ろに ? をつけると、最短マッチが
                           # 実現でき、as にマッチします。
                           # *?,+?, {1,4}? などという表現ができます。

print "1: 最長マッチ( Perlの標準 )\n";
if( $word =~ $long_match ){
    print "$& にマッチしました。\n\n";
}

print "2: 最短マッチ( 量指定子の後ろに ? をつける )\n";
if( $word =~ $short_match ){
    print "$& にマッチしました。\n\n";
}

__END__

最長マッチ

/a.*s/
  • 最長マッチは、Perlデフォルトのパターンマッチの規則です。
  • マッチが可能な最後尾の文字の位置までが、マッチします。
  • 'asasasas' なら、最初の a から、最後の s までマッチします。

最短マッチ

/a.*?s/
  • 量指定子の後ろに、 ? をつけると、最短マッチを実現できます。
  • マッチが可能なもっとも手前の文字位置までが、マッチします。
  • 'asasasas' なら、最初の 'as' にマッチします。
  • マッチがうまくいかないときは、最長マッチで、マッチしているということがよくあります。

引用元

更新:2009/12/07 17:26 カテゴリ: PHP  > 正規表現 ▲トップ
18件中 1 〜 10 表示  1 | 2  次の8件> 最後»

FuelPHP

Mac

web開発

プロマネ

マネタイズ

プレゼン

webサービス運用

webサービス

Linux

サーバ管理

MySQL

ソース・開発

svn・git

PHP

HTML・CSS

JavaScript

ツール, ライブラリ

ビジネス

テンプレート

負荷・チューニング

Windows

メール

メール・手紙文例

CodeIgniter

オブジェクト指向

UI・フロントエンド

cloud

マークアップ・テキスト

Flash

デザイン

DBその他

Ruby

PostgreSQL

ユーティリティ・ソフト

Firefox

ハードウェア

Google

symfony

OpenPNE全般

OpenPNE2

Hack(賢コツ)

OpenPNE3

リンク

個人開発

その他

未確認

KVS

ubuntu

Android

負荷試験

オープンソース

社会

便利ツール

マネー

Twig

食品宅配

WEB設計

オーディオ

一般常識

アプリ開発

サイトマップ

うずら技術ブログ

たませんSNS

rss2.0