phpを使って、正規表現と関数で文字列の編集を行っているのですが
いい方法が思いつきません。
やりたいことは以下のようなことです。
$find ="\n"//マッチさせたい文字
$string = "リンゴ、空、\nミルク、車\n";//検索対象
$str=関数($string);//わからない部分
print($str);
↓表示結果
リンゴ、空、\nミルク、車
文字列のインデックスの0から、最後にマッチした文字列の直前までを取得するにはどうしたらよいでしょうか。
またこのような表現には何か名前がついていますか?
ご教授ください。
No.1ベストアンサー
- 回答日時:
preg_match('/^(.*)\n/s', $string, $matches);
$str = $matches[1];
preg_match の第3引数を指定すると、その変数にマッチした文字列が格納されます。
正規表現中に括弧でくくられた部分があると、その部分が$matches 配列の添え字1以降にキャプチャされますので、
行頭から\nまでをマッチさせる正規表現を指定した上で、必要とする「行頭から最後にマッチした文字列の直前」部分を括弧でくくってやれば、その内容が取得できることになります。
http://php.net/manual/ja/function.preg-match.php
なるほど!
正規表現の括弧の使い方を何となく
式のグルーピングとして使っていたのですが
検索した値を参照するために使うのですね。
ありがとうございます。
助かりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Visual Basic(VBA) 以下のVBAで該当文字列の前後に付与したい。 例 前に付与 abc ユーザーID 12345 後に付 3 2022/04/19 21:50
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- Java Javaの問題なのですが、「3文字以上の英数字文字列を入力し、文字列の中に文字(9)が出てくるまでの 1 2023/06/06 18:55
- PostgreSQL 数値が定期的にあらわれる文字列から、いくつめに出現した数値が指定して切り出したい 1 2023/06/08 13:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c# string型の変数に、ダブルク...
-
(から)までの文字列を削除したい
-
【php】二進数をフラグとして扱...
-
独自タグに囲まれた文字列の変換
-
PHPで「,」を「, 」へ置換した...
-
文字列の置換をCStringで(C++)
-
VBSで"をエスケープする文字は?
-
mcryptで英数字(12未満)のみに...
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
テキストファイルから改行コー...
-
エスケープ文字の復帰(¥r)と...
-
文字の入力で横バー上段、中断...
-
グレープシティのSPREAD...
-
エクセルのCOUNTIFが正しくカウ...
-
UTF8メールがLotus Notesで文字...
-
jsp 改行コードで改行させて表...
-
ExcelVBAでメールを作成してメ...
-
C++で空Enterの入力を判...
-
csobjというタグについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ダブルコーテーション(
-
VBSで"をエスケープする文字は?
-
PHP・Wordpress preg_replaceを...
-
文字列の置換をCStringで(C++)
-
○分から○時間○分に変換
-
文字列の括弧について(初心者)
-
近似した文字列を置換するエク...
-
PHPの¥
-
ダブルクォーテーションが置換...
-
php 正規表現で、\\マークを取...
-
(から)までの文字列を削除したい
-
文字列のアスタリスク置換
-
htmlspecialchars関数でエスケ...
-
nl2brが効かないのですが・・・
-
PHPでCSVを出力する際のセルに...
-
c# string型の変数に、ダブルク...
-
正規表現で<BR>の行を除外した...
-
ダブル、シングルクォーテーシ...
-
空白文字のカンマへの変換について
-
【PHP】preg_replace() で正...
おすすめ情報