-2
        $p5p6patterns = array(
            "/(\d{2,3}(?:[\.,]\d)?)[\\\\/](\d{2,2}(?:[\.,]\d)?)\D/ui", //62.2/43.2  43/34 34\23
            "/(\d{2,3}(?:[\.,] ?\d)?)[\\\\/](\d{2,2}(?:[\.,] ?\d)?)\D/ui", // 51, 2/30, 5/11, 8
            "/\D(\d{2,3}(?:[\.,]\d)?) ?[\\\\/] ?(\d{2,2}(?:[\.,]\d)?)\D/ui", //62.2 / 43.2 / 7.4
            "/Общая\sплощадь\s\-\s(\d{1,2}(?:[\.,]?\d)?)\sкв\.м\.\sжилая\s\-\s(\d{1,2}(?:[\.,]?\d)?)\sкв\.м\./ui"// Общая площадь - 74.6 кв.м. жилая - 29.8 кв.м.
        );

警告:preg_match_all():未知修饰符 ']'

4

2 回答 2

0

测试这个 put\\\\\/]而不是\\\\/]

$p5p6patterns = array(
        "/(\d{2,3}(?:[\.,]\d)?)[\\\\\/](\d{2,2}(?:[\.,]\d)?)\D/ui", //62.2/43.2  43/34 34\23
        "/(\d{2,3}(?:[\.,] ?\d)?)[\\\\\/](\d{2,2}(?:[\.,] ?\d)?)\D/ui", // 51, 2/30, 5/11, 8
        "/\D(\d{2,3}(?:[\.,]\d)?) ?[\\\\\/] ?(\d{2,2}(?:[\.,]\d)?)\D/ui", //62.2 / 43.2 / 7.4
        "/Общая\sплощадь\s\-\s(\d{1,2}(?:[\.,]?\d)?)\sкв\.м\.\sжилая\s\-\s(\d{1,2}(?:[\.,]?\d)?)\sкв\.м\./ui"// Общая площадь - 74.6 кв.м. жилая - 29.8 кв.м.
    );

preg_match_all()没有将模式作为数组

int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )
于 2013-05-20T11:05:51.067 回答
0

你的问题是这部分:[\\\\/]

\\\\编码单个文字反斜杠。因此,以下/内容不会被转义,结束正则表达式 - 并告诉正则表达式编译器解释]为模式修饰符。

[\\\\\/]如果您想同时匹配反斜杠和斜杠,或者\/只想匹配斜杠,请使用。

于 2013-05-20T11:07:42.277 回答