gpt4 book ai didi

java - 正则表达式中的转义符 (

转载 作者:行者123 更新时间:2023-12-02 13:14:45 25 4
gpt4 key购买 nike

我正在搜索正则表达式 - “.(冲突的副本。”。我为此编写了以下代码

String str = "12B - (conflicted copy 2013-11-16-11-07-12)";
boolean matches = str.matches(".*(conflicted.*");
System.out.println(matches);

但我得到了异常(exception)

Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed group near index 15 .(conflicted.

我知道编译器认为 ( 是模式组的开头。我尝试通过添加 \( 但转义 ( 但那行不通。

有人可以告诉我如何在这里逃脱 ( 吗?

最佳答案

转义由\完成。在Java中,\被写为\\1,所以你应该转义(将是\\(.

旁注:看看Pattern#quote很好。 返回一个文字模式字符串。就您而言,这并没有多大帮助,因为您不想逃避所有 special-characters .

<小时/>

1 因为 a character preceded by a backslash (\) is an escape sequence and has special meaning to the compiler .

关于java - 正则表达式中的转义符 (,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20677167/

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