2017-06-01 19 views
0

任何人都可以使用regexExp帮助我将所有移动浏览器定位在Safari之外?看到这个网上,但它的转向了不是有益的正则表达式 - 除Safari浏览器之外的所有移动浏览器的用户代理

^(?:.*Windows Phone.*|.*WPDesktop.*|.*RIM.*|.*BlackBerry.*|.*Opera Mini.*|.*Opera Mobi.*|.*Silk\/.*|.*Kindle.*|.*Android.*|(?!.*?(?:iPhone)).*?Mobile.*|.*Symbian.*)$

+0

是尝试始终评估移动浏览器的字符串? '因为在那种情况下,像“不Safari浏览器”这样的正则表达式会更容易,而不是列出所有内容(这看起来很复杂) – Eselfar

+0

@Eselfar yes它始终是一个移动浏览器 – Kofi

回答

-1

你可以试试这个正则表达式:

(?:(?!Safari).)* 

它包括一切,但Safari浏览器。 例子:

String s1 = "My browser is Safari."; 
boolean res1 = s1.matches("(?:(?!Safari).)*"); // res1 = false 


String s2 = "My browser is Opera."; 
boolean res2 = s2.matches("(?:(?!Safari).)*"); // res2 = true 

,看一下这个答案的详细信息:https://stackoverflow.com/a/977290/1827254

+0

它也匹配chrome – Rani

+0

@Rani当然,它匹配Chrome! OP希望“所有移动浏览器都远离Safari”。也许你应该在回答问题之前阅读这个问题...... – Eselfar

+0

Safari的这个词也出现在Chrome的用户代理上,因此它不起作用 – Rani

相关问题