2016-11-07 9 views
1

私はこのテキストファイルがあります。文字、数字、および改行をregexにマッチさせる方法は?

if (preg_match("/^[A-Za-z0-9 =.,:-]+$/",file_get_contents($filename))){ 
    echo "it matches"; 
} 
else { 
    echo "doesn't match"; 
} 

問題は/^[A-Za-z0-9 =.,:-]+$/は、新しい行を一致していないということです。私は、文字、数字、いくつかの追加キャラクターや新線であること一致させたい

Host: x-sgdo40.serverip.co 
Username: fastssh.com-test 
Password: test 
Port: 443 
Info: Date Expired : 10-November-2016 

をどうすればこの問題を解決できますか?

EDIT:まだ

^[A-Za-z0-9 =.,:\\n-]+$この正規表現は動作するはず

+0

[正規表現改行一致](http://stackoverflow.com/questions/9842404/regex-newline-match)の可能性の重複 –

+0

@mistermartin私はその投稿を知っていますが、 '/^[A-Za-z0-9 =。、 - \ n] + $ /'に '\ n'を追加しても問題は解決しません。 – hillz

+1

正しく答える。あなたはそれをエスケープする必要があります: '\\ n' –

答えて

1

動作しません:改行を含む

^[A-Za-z0-9=.,:\s-]+$ 
  • \s一致するすべての空白
  • 最初にエスケープされていないハイフンをキープまたはキャラクターの最後の位置CTERクラス

RegEx Demo

コード:

if (preg_match('/^[A-Za-z0-9=.,:\s-]+$/', file_get_contents($filename))) { 
    echo "it matches"; 
} 
else { 
    echo "doesn't match"; 
} 
関連する問題