gpt4 book ai didi

java - 为什么带换行符的字符串不匹配 Java 中的正则表达式?

转载 作者:行者123 更新时间:2023-11-30 08:20:39 25 4
gpt4 key购买 nike

我有一个包含换行符 (\n) 的字符串 string。当我尝试将它与正则表达式 pattern 匹配时,它返回 false,尽管应该存在匹配。

package com.stackoverflow;

public class ExgExTest {

public static void main(String[] args) {
String pattern = ".*[0-9]{2}[A-Z]{2}.*";
String string = "123ABC\nDEF";

if (string.matches(pattern)) {
System.out.println("Matches.");
} else {
System.out.println("Does not match.");
}

} // END: main()

} // END: class

如何用正则表达式匹配多行字符串?

最佳答案

How can I match multiline strings with a regular expression?

为此你需要使用 DOTALL (s) 标志:

String pattern = "(?s).*[0-9]{2}[A-Z]{2}.*";

注意 (?s),这将使 DOT 也匹配新行。

关于java - 为什么带换行符的字符串不匹配 Java 中的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25884647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com