
No.1ベストアンサー
- 回答日時:
#ほとんどそのままだけど、要点はPREG_OFFSET_CAPTUREフラグを指定するということ、すると配列でマッチした文字列と位置(0始まり)が得られる
$text = "abcdefg";
$pattern = '/d.+f/';
if(preg_match($pattern, $text, $matches, PREG_OFFSET_CAPTURE) ){
print "マッチした部分:".$matches[0][0]."\n";
print "マッチした位置:".$matches[0][1]."\n";
}
参考URL:http://jp.php.net/manual/ja/function.preg-match. …
ありがとうございます。
実を言うと PREG_OFFSET_CAPTURE というフラグがあるのは質問直後にみつけたのですが、使い方がわからず困ってました。
ドキュメントより、
>このフラグが設定された場合、マッチする度に付随する文字列のオフ セットも返されます。これにより、返り値は配列となり、・・・
とあったので、関数の戻り値が配列なのだと解釈したのですが、いくらやってもスカラーしか返らず…。引数の方($matches[])だったのですね、おかげ様で無事思っていたことが実現できました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現で「0」のみ抽出
-
VBAのコマンドボタンの文字列の...
-
エクセルのCOUNTIFが正しくカウ...
-
メッセージボックスで1025文字...
-
ファイルから読み取った改行文...
-
C++で空Enterの入力を判...
-
Excel関数「COUNTIF」で”文字”...
-
JAVA Spring 改行コードを含む...
-
カンマの含まれる文字列の数値...
-
文字コードを変換したURLを作成...
-
改行コードについて
-
エクセルVBA 文字列領域が不足...
-
VBA ASC関数で変換できない文...
-
C++でのCRLFについて
-
COBOLの改行
-
mb_send_mailの2重投稿を防止し...
-
ソースコードの1行が長いとき...
-
文字の入力で横バー上段、中断...
-
エスケープ文字の復帰(¥r)と...
-
VB6.0 Base64のデコード方法を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
、"(ダブルクォーテーション)...
-
正規表現で、半角大文字と半角...
-
PHPで変数から1行目だけを取得...
-
PHPで<a>タグ内からURLと文字を...
-
携帯アドレスの正規表現
-
VBAを使ってHTMLソースから特定...
-
switchの大量分岐の高速化
-
正規表現について
-
preg_matchでエラーが出ます。
-
電話番号のチェック ハイフン...
-
変数に指定文字列が含まれると...
-
1ファイルから項目を正規表現で...
-
正規表現で「0」のみ抽出
-
複雑な/による文字列の分割につ...
-
サイトが移動しました(301)が...
-
Smartyで部分一致
-
PHPで あるフォルダ内の、特定...
-
PHPの正規表現について
-
Excelで数字のみを2倍3倍にする...
-
正規表現 先頭一桁をマッチさせ...
おすすめ情報