从javascript到java的正则表达式
我需要这些javascript正则表达式的java等价物:从javascript到java的正则表达式,java,javascript,regex,Java,Javascript,Regex,我需要这些javascript正则表达式的java等价物: “abcde”。搜索(/c/);//输出:2 /[^\d]/.test(“123bed567”);//输出:真 “asdgh”。匹配(/\d/);//输出:空 这是一个用javascript(我也知道用php)编写的简单的单行解决方案,所以我希望Java中也有类似的解决方案 “abcde”。indexOf('c') “123bed567”。匹配(^\\d)//火柴,不是火柴。我的坏消息。 “asdgh”.indexOf(\\d”) 我应
“abcde”。搜索(/c/);//输出:2
/[^\d]/.test(“123bed567”);//输出:真
“asdgh”。匹配(/\d/);//输出:空
“abcde”。indexOf('c')代码>
“123bed567”。匹配(^\\d)//火柴,不是火柴。我的坏消息。
“asdgh”.indexOf(\\d”)代码>
我应该这样做。当然,还有其他方法。也许你应该听从第一位评论者的建议,告诉我们你想要什么 你试过什么?你到底有什么问题?请问一个特定的问题,而不仅仅是为我转换。我会先尝试使用这个工具,然后问一个与您遇到的问题相关的更具体的问题。Cheese-Java解决方案可能比javascript/PHP更详细。这是简单的3行代码。如果用regexp为java程序员编写3行代码非常困难,那么我也不知道如何编写。在第三个示例中,输出是-1而不是null,第二个不是编译器。对于第三个示例,请阅读javadoc。我认为它表明,如果正则表达式不匹配,String.indexOf(String regex)将返回-1。如果不能处理-1而不是null。。。没关系。我想你只需要两个反斜杠,而不是四个。绝对正确,大卫。我有点惊讶现在不止两个。必须是这里的编辑功能。很抱歉。我找不到一行解决方案,但可以使用两行解决方案。您可以将所有这些都包装在一行中。
Matcher matcher = Pattern.compile("c").matcher("abcde");
System.out.println(matcher.find()?matcher.start():-1);
Matcher matcher2 = Pattern.compile("[^\\d]").matcher("123bed567");
System.out.println(matcher2.find());
Matcher matcher3 = Pattern.compile("\\d").matcher("asdgh");
System.out.println(matcher3.find()?matcher3.group():null);