私の入力は次のとおりです
1何とか何とか何とか@username_。sblah sblah sblah
必要な出力はusername_の後にあります。
今のところ、私はこの表現をします
^.*\@([a-zA-Z0-9\.\_]+)$
次のように動作します
1何とか何とか何とか@username_。
しかし、私がそれをフルラインに使用すると、それは機能しません
したがって、ユーザーを取得してユーザーの前に削除しますが、ユーザーを取得したら残りを削除する方法を教えてください
より良いツールがある場合は、テストにregex101を使用することに注意してください。以下に記述してください。
あなたのパターンは^$
完全に一致する必要があることを意味します、あなたのパターンは部分的です。
を追加する.*
と、完全な正規表現になり、期待どおりに一致します。
"/^.*\@([a-zA-Z0-9\.\_]+).*$/"
これを行う別の方法は、このような部分的な正規表現を使用することです。
@まではスキップし、すべてをドットにキャプチャします
$str = "1 blah blah blah @username_. sblah sblah sblah";
preg_match("/.*?\@(.*?\.)/", $str, $match);
var_dump($match);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加