目次
回复内容:

正则里面s包括回车吗?

Jun 06, 2016 pm 08:11 PM
php

文档上说\s表示空白字符 回车算不算空白字符呢
用实际例子测试了一下,不同的环境结果各不相同

测试文件内容
test.txt
PH
P and JA
VA

<code>$text=file_get_contents('test.txt');



#print $text;


preg_match("/PH\sP/s",$text,$match);
print_r($match);

preg_match("/JA\sVA/s",$text,$match);

print_r($match);
</code>
ログイン後にコピー
ログイン後にコピー

php匹配出来为空

<code>Pattern php =  Pattern.compile("PH\\sP",Pattern.DOTALL);
Pattern java =  Pattern.compile("JA\\sVA",Pattern.DOTALL);
  BufferedReader  in = new BufferedReader(new FileReader("test.txt"));
   StringBuffer  sb=new StringBuffer ();
    String s;

    while ((s = in.readLine()) != null)     {
    sb.append(s);
 }

Matcher m = php.matcher(sb);

while(m.find()) {

      System.out.println(m.group());
}

  m = java.matcher(sb);

while(m.find()) {

      System.out.println(m.group());
}
</code>
ログイン後にコピー
ログイン後にコピー

java都能匹配出来

回复内容:

文档上说\s表示空白字符 回车算不算空白字符呢
用实际例子测试了一下,不同的环境结果各不相同

测试文件内容
test.txt
PH
P and JA
VA

<code>$text=file_get_contents('test.txt');



#print $text;


preg_match("/PH\sP/s",$text,$match);
print_r($match);

preg_match("/JA\sVA/s",$text,$match);

print_r($match);
</code>
ログイン後にコピー
ログイン後にコピー

php匹配出来为空

<code>Pattern php =  Pattern.compile("PH\\sP",Pattern.DOTALL);
Pattern java =  Pattern.compile("JA\\sVA",Pattern.DOTALL);
  BufferedReader  in = new BufferedReader(new FileReader("test.txt"));
   StringBuffer  sb=new StringBuffer ();
    String s;

    while ((s = in.readLine()) != null)     {
    sb.append(s);
 }

Matcher m = php.matcher(sb);

while(m.find()) {

      System.out.println(m.group());
}

  m = java.matcher(sb);

while(m.find()) {

      System.out.println(m.group());
}
</code>
ログイン後にコピー
ログイン後にコピー

java都能匹配出来

回车是/r/n,不是空白,要在/s模式下就包括了,preg_match('/lalla /s',$youString),s 模式中的圆点元字符(.)匹配所有的字符,包括换行符

如果设置了s这个修饰符,模式中的"点号"元字符匹配所有字符,包含换行符。如果没有这个 修饰符,点号不匹配换行符。这个修饰符等同于 perl 中的/s修饰符。 一个取反字符类比如 1 总是匹配换行符,而不依赖于s这个修饰符的设置。


  1. a ↩
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

See all articles