php code
$contentHtml = ".....";
preg_match('/;ytplayer\.config\s*=\s*({.*?});/', $contentHtml, $matches);
var_dump($matches[1]);
如何在java / android上使用这个表达式?
Pattern pattern = Pattern.compile("/;ytplayer\.config\s*=\s*({.*?});/");
// error: Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
谢谢。
答案 0 :(得分:1)
Java正则表达式,
Pattern pattern = Pattern.compile(";ytplayer\\.config\\s*=\\s*(\\{.*?});");
您不需要在Java中使用php regex分隔符。这是开始/
和结束/
符号。你必须再次在java中逃避\
。
示例:强>
String s = ";ytplayer.config = {foo bar};";
Pattern regex = Pattern.compile(";ytplayer\\.config\\s*=\\s*(\\{.*?});");
Matcher matcher = regex.matcher(s);
while(matcher.find()){
System.out.println(matcher.group(1));
}
<强>输出:强>
{foo bar}
答案 1 :(得分:1)
在Java中,您不需要为正则表达式使用分隔符,并且需要双反斜杠。
Pattern pattern = Pattern.compile(";ytplayer\\.config\\s*=\\s*(\\{.*?\\});");