如何将JavaScript正则表达式转换为Java
How to convert a JavaScript regex into Java?
我一直在使用这个正则表达式来验证使用JavaScript的YouTube链接:
function is_valid_video(url) {
var p = /^(?:http?:'/'/)?(?:m'.)?(?:youtu'.be'/|youtube'.com'/(?:embed'/|v'/|watch'?v=|watch'?.+&v=))(('w|-){11})(?:'S+)?$/;
return (url.match(p)) ? RegExp.$1 : false;
}
由于我正在学习开发Android应用程序,所以我想将此函数转换为在Java中使用。
public static bool is_valid_video(String url) {
return url.matches("Your Regex Goes Here");
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;
private static final String myRegexp = "/^(?:http?:'/'/)?(?:m'.)?(?:youtu'.be'/|youtube'.com'/(?:embed'/|v'/|watch'?v=|watch'?.+&v=))(('w|-){11})(?:'S+)?$/";
private static final Pattern p = Pattern.compile(myRegexp );
public boolean isValid(String url){
//This is what String.matches() does internally but now you have already crated the pattern instance -> more efficient
Matcher m = p.matcher(url);
return m.matches();
}
您可能必须在regExp String中进行一些字符转义。参见Pattern
类
附带说明:使用regexp来验证如此复杂的链接不是一个好主意。您将遇到维护和可持续性的问题。
相关文章:
- 如何使用json将对象列表从java转换为javascript
- DOM事件通过JSON转换为java
- Java脚本将URL转换为已保存的URL时出错
- 将这些正则表达式从javascript转换为Java
- 将时间戳转换为java中的ISO860,
- 我可以将为java创建的语法文件转换为javascript的语法文件吗
- 将Java对象转换为JSON
- Java脚本插件,用于将数字转换为特定于区域性的货币格式,并将具有特定货币格式的非格式化数字转换为普通数字
- 将此 JavaScript 数组转换为 java
- 如何在 java 脚本中将字符串日期转换为 GMT
- 如何将 js 中的 var 转换为 java
- 将permute方法从Java转换为JavaScript
- 将SortedMap从Java转换为Javascript中可读的排序对象
- 如何在 Java 中将 JavaScript 日期转换为日期
- 从Javascript到Java的Regex转换
- 如何用javascript访问json对象并用java将其转换为数组
- 如何通过Play转换Java对象以使用jqplot!2.0.
- 在javascript数组列表中转换java对象列表
- 转换Java字符串数组或JSON字符串到Javascript数组(Parse.com Cloud Code和Mandri
- 在Javascript中转换Java公历