$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():未知修饰符']'
答案 0 :(得分:0)
测试此放置\\\\\/]
而不是\\\\/]
$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 ]]] )
答案 1 :(得分:0)
您的问题是这部分:[\\\\/]
\\\\
对单个字面反斜杠进行编码。因此,以下/
不会被转义,结束正则表达式 - 并告诉正则表达式编译器将]
解释为模式修饰符。
如果你想匹配反斜杠和斜杠,可以使用[\\\\\/]
;如果你只想匹配斜杠,可以使用\/
。