从 JavaScript 到 Java 的正则表达式测试
RegEx test from JavaScript to Java
我正在尝试将以下算法从角度服务迁移到后端,从而从JavaScript迁移到Java。
你能帮助我在 Java 中获得与我在 js 中相同的结果吗?
var UA = navigator.userAgent,
isIOS = /ip(hone|od|ad)/i.test(UA),
isSafari = /(mac os x).*version'/'d(.'d)+ (mobile'/'w{5,} )?safari/i.test(UA),
isSafari5 = /(mac os x).*version'/5[.'d]+ (mobile'/'w{5} )?safari/i.test(UA),
isAndroid = /android/i.test(UA),
isAndroidBrowser = isAndroid && !/chrome|firefox/i.test(UA),
isAndroidBrowserOld = isAndroidBrowser && parseFloat(/android (['d'.]+)/i.exec(UA).pop()) < 4.3,
isAndroid2 = isAndroidBrowser && /android 2'.'d/i.test(UA),
isAndroidChrome = isAndroid && /chrome/i.test(UA),
isKindleFire = /KF[A-Z]{2,3}/.test(UA),
isFirefox = /firefox/i.test(UA),
isIE11 = /Trident/i.test(UA),
isIE = /msie 'd/i.test(UA) || isIE11,
isMSTouch = (navigator.maxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0),
isMSTouchPrefix = !!navigator.msMaxTouchPoints,
isPhone = ((/mobile/i.test(UA) && !/ipad|tablet/i.test(UA)) || matchMedia('only screen and (max-device-width : 767px)').matches) && !isKindleFire,
isTablet = (isAndroid && !isPhone) || (isIOS && !isPhone) || isKindleFire,
isMobile = isPhone || isTablet;
this.isPhone = isPhone;
this.isTablet = isTablet;
提前感谢您的任何帮助
一般
- 正则表达式可以使用java.util.regex.Pattern,Java没有像JavaScript那样的语言级支持 。删除正则表达式
- 周围的//,这是 JavaScript 正则表达式集成的一部分
- 任何 '' 都需要在 Java 字符串中转义为 ''''
- /i 不敏感等效于 Pattern.compile(regex, Pattern.CASE_INSENSITIVE)
- 核心正则表达式在 99% 的情况下应该相同
例
String UA = "iphone";
boolean isIOS =
Pattern.compile("ip(hone|od|ad)", Pattern.CASE_INSENSITIVE).matcher(UA).matches();
boolean isSafari5 =
Pattern.compile("(mac os x).*version''/''d(.''d)+ (mobile''/''w{5,} )?safari", Pattern.CASE_INSENSITIVE).matcher(UA).matches();
System.out.println(isIOS);
相关文章:
- 从 JavaScript 到 Java 的正则表达式测试
- 使用正则表达式测试字符串中的特定ASCII字符
- 正则表达式测试
- 针对 JavaScript 中的多个正则表达式测试字符串
- 正则表达式测试算法返回 false
- jQuery 正则表达式测试在 .each 错误中
- LxWxH 的正则表达式测试模式
- JavaScript正则表达式测试字符串是否包含特定单词(带变量)
- 如何在使用变量时防止正则表达式测试切换
- 特定正则表达式测试
- 正则表达式测试方法中的“g”如何交替工作
- 正则表达式测试不能正常工作
- 对数字列表进行正则表达式测试
- 正则表达式测试函数不返回相同的引号
- Javascript数字正则表达式测试失败-无法找出原因
- 可以在正则表达式测试器中创建函数,但不能在应用程序中创建
- Javascript正则表达式测试
- Js正则表达式测试除字符串
- Jquery正则表达式测试字符串中的确切单词
- 以重音开头的正则表达式测试