当前位置: 首页 > 知识库问答 >
问题:

regex isMatch返回false[重复]

施念
2023-03-14

原始正则表达式:< code>[v]\d?\.\d

捕获字符串中的“v{N}.{n}”,其中{N}/{n}只是一个数字。我在代码(java)中尝试,但返回false。

代码:

  String content = "En este texto hay un documento v4.6.pdf";

  String pattern = "[v]\\d+?\\.\\d";

  boolean isMatch = Pattern.matches(pattern, content);
  System.out.println("The text contains 'v{N}.{n}'? " + isMatch);

控制台:

The text contains 'v{N}.{n}'? false

共有2个答案

艾骏喆
2023-03-14

正如其他人指出的,模式。matches()尝试匹配整个字符串。一、 e.就好像在模式的开头有一个<code>^

String pattern = ".*[v]\\d+?\\.\\d.*";
String pattern = "[v]\\d+?\\.\\d";
Pattern regexPattern = Pattern.compile(pattern);
Matcher matcher = regexPattern.matcher(content);
boolean isMatch = matcher.find();
祁烨
2023-03-14

< code>matches尝试匹配整个字符串。您应该使用< code>Matcher的< code>find方法来尝试查找匹配项。或者您可以尝试使用< code >匹配整个字符串。*作为后缀和前缀。

public static void main(String[] args) throws Exception {
    String content = "En este texto hay un documento v4.6.pdf";
    Pattern p = Pattern.compile("[v]\\d+?\\.\\d");
    Matcher m = p.matcher(content);
    if (m.find()) {
        System.out.println("found");
    }

}

O/P:已找到

 类似资料:
  • 问题内容: 在我的程序中,我有一个字符串(从外部库获取),该字符串与任何正则表达式都不匹配。 知道有什么问题吗?当我打印到标准输出时,看起来还可以。 这是从PDF提取文本的代码(我正在使用iText 5.0.1): 问题答案: 默认情况下,不匹配的换行符。所以我的猜测是您包含换行符。 还要注意,它将匹配整个字符串,而不仅仅是字符串的一部分:它不会做什么! 一些例子: 在最后一个例子将导致匹配换行符

  • 问题内容: 我正在用Django + jQuery测试ajax。我认为: 这在我的模板中: 我的问题是-为什么这会在我的HTML页面中返回“ Not ajax”? 问题答案: 我不知道你怎么了 我测试并取得了良好的消息:。我的代码: urls.py views.py templates / home.html

  • 在什么情况下netty中的writAndFlush函数返回false。我们如何调试它?我需要启用某些东西才能在通道上写入吗?我还检查了通道,它是可写的。 谢谢,Adib

  • 我在PHP函数中遇到了一个问题,因为对真/假输入的验证不正确 我在这里找到了一个解决方案,那就是采用filter\u var以布尔值进行转换,并检查输入是否有效 制作了一个简单的测试页面和php函数进行尝试;该函数在确定“true,1,on”值时是正确的,并返回正确的“1” 提交“0,false”时,函数不会按预期返回“0”;实际上,它什么也不返回(即使dump_var说它是bool) 这是简单的

  • 我正在创建一个用户可以登录的网站。当他们创建帐户时,我将哈希密码保存在数据库中。我正在尝试使用password_verify()来确认密码匹配,但它返回false。 为了确认它们匹配,我打印出用户输入的哈希版本和存储在数据库中的哈希密码。我知道一个常见的问题是数据库密码字段对于散列密码来说太小,但我尝试将其设置为VARCHAR(256)和TEXT,以确保存储整个散列密码。 我希望password_

  • 问题内容: 当我尝试从Java代码中删除tomcat服务器conf / Catalina / localhost中存在的文件时,file.delete()始终返回false。但是,如果我通过file.exists()函数检查文件,它将返回true。我没有任何例外。请帮助我们为什么会这样。有什么解决方案? 问题答案: 当我尝试从Java代码中删除tomcat服务器conf / Catalina /