ホームページ >バックエンド開発 >PHPチュートリアル >正規表現について質問する
最後の句読点またはスペースに基づいて次のコンテンツを削除する正規表現を作成するにはどうすればよいですか?
まずエンコーディングとは何かについて話しましょう。句読点には全角が含まれますか?つまり、句読点はどの国語を指すのでしょうか?
基本形式
echo preg_replace('/(.+[ ]).+$/', '$1', 'ab c d'); //a b c
全角、半角、スペースも含む
全角を含めるのは複雑でしょう... Unicode 範囲のみを使用できるようです。誰かが良いアイデアを持っているかどうかを待ったほうが良いでしょう。誰かが直接置き換える良いアイデアを持っていますか?全角記号を対応する半角記号に置き換えますが、すべての半角記号が上記の規則的なパターンに一致するとは限りません。 。
基本形式
echo preg_replace('/(.+[ ]).+$/', '$1', 'ab c d'); //a b c
基本形式
echo preg_replace('/(.+[ ]).+$/', '$1', 'a b c d'); //a b c
echo preg_replace('/(.+[ここに指定したいシンボルをリストします])[^ 前にリストしたものと同じ]+$/', '$1', 'a b c d');
1.赤と青の部分は曖昧さをなくす必要があり、同じままでなければなりません
2. 青の部分の前にある ^ を見逃さないでください。これは除外するために使用されます
3. まだ問題が発生することが予想されますGBK エンコード (utf-8 の場合) /u 修飾子を追加すると期待通りになります
[ ] で区切る文字をすべてリストします
まあ、基本的には問題ありません、ありがとうございます 1! !