有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓在java中被其他文本包围时寻找模式

我有一个正则表达式可以找到某种模式。当文本被隔离时,这种方法就有效了。然而,我希望它能在被其他文本包围时工作,并以某种方式从中提取出来。这是我想出的模式。例如,如果9708/32/M/J/15是文本,它会找到它。但如果是awfawf9708/32/M/J/15awfafwaf,它就找不到了

Pattern pattern = Pattern.compile("^\\d{4}/\\d{2}/\\w/\\w/\\d{2}$");

我如何修改它,使其在两种情况下都能工作


共 (1) 个答案

  1. # 1 楼答案

    ^断言字符串的开头。$断言字符串的结尾。括号用于捕捉其中匹配的内容。这两种方法都会奏效:

    (\d{4}/\d{2}/\w/\w/\d{2})
    ^.*(\d{4}/\d{2}/\w/\w/\d{2}).*$
    

    我不知道你为什么要逃避你的反斜杠。如果正斜杠在程序中用作分隔符,则可能需要转义正斜杠。我更喜欢用~作为分隔符,因为它是一个罕见的字符