Java I';I’我想问一个正则表达式匹配的问题

Java I';I’我想问一个正则表达式匹配的问题,java,regex,Java,Regex,“[loc]”必须包含在开头,后面的任何字符都无关紧要。如何用正则表达式表示它? ex) 我用的是Java,我真的想不起来。请求帮助,兄弟们 String pattern = "\\[(loc)\\]"; String val = "[loc]seoul"; String val2 = "[loc]"; String val3 = &qu

“[loc]”必须包含在开头,后面的任何字符都无关紧要。如何用正则表达式表示它? ex)

我用的是Java,我真的想不起来。请求帮助,兄弟们

            String pattern = "\\[(loc)\\]"; 
            String val = "[loc]seoul"; 
            String val2 = "[loc]";
            String val3 = "seoul";
        
            boolean regex = Pattern.matches(pattern, val);
            System.out.println(regex);
            boolean regex2 = Pattern.matches(pattern, val2);
            System.out.println(regex2);
            boolean regex3 = Pattern.matches(pattern, val3);
            System.out.println(regex3);
这很容易。 正则表达式应该类似于
loc\w+

对于java,您可以将其解析为
loc\\w+



这应该有效:
^\[loc\]*


我在这里测试过:

我知道你有一些字符串,一个关键字,必须出现在字符串的开头。在这种情况下,您需要
模式。引用
来转义任何需要转义的特殊字符,并使用
+
模式来匹配一个或多个字符。(如果你的第一个问题句是正确的,你也可以考虑<代码> */c>模式来匹配任何零和更多字符,你不关心什么是在<代码> [LOC] < /代码>。)也匹配断线,即<代码> .<代码>默认情况下不匹配,你需要通过<代码>模式。doasy< /Cord>选项,或者用<代码>(s)预置你的模式。
inline修饰符

解决方案如下所示

List vals=Arrays.asList(
“[loc]首尔”、[loc]、“首尔”
);
字符串关键字=“[loc]”;
字符串模式=模式。引号(关键字)+“+”;
Pattern p=Pattern.compile(Pattern,Pattern.DOTALL);
用于(字符串val:val){
System.out.println(val+“:\”+p.matcher(val.matches()+“\”);
}
看。输出:


那么
字符串模式=“\\[loc\\].+”
呢?
            String pattern = "\\[(loc)\\]"; 
            String val = "[loc]seoul"; 
            String val2 = "[loc]";
            String val3 = "seoul";
        
            boolean regex = Pattern.matches(pattern, val);
            System.out.println(regex);
            boolean regex2 = Pattern.matches(pattern, val2);
            System.out.println(regex2);
            boolean regex3 = Pattern.matches(pattern, val3);
            System.out.println(regex3);
[loc]seoul: "true"
[loc]: "false"
seoul: "false"