java - 正则表达式以字符串开头,匹配所有类型的符号、字符、数字

标签 java regex

我尝试过

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Rejex {

    public static final String REGEX_CONSTANT="^[a-zA-Z][a-zA-Z0-9&\\-()$#@!^*=|'{}:.%_+?`~<>[]]*$"; 

    public static void main(String[] args) {
        System.out.println(validateRegex(REGEX_CONSTANT,"dd[]"));
    }
    public static  boolean validateRegex(String regex, String value) 
    {
        Pattern patternObjects = Pattern.compile(regex);
        Matcher matcherObject = patternObjects.matcher(value);
        return matcherObject.matches();
    }
}

它返回 false,我希望 [] 应该出现在表达式中,我希望表达式以字符串开头并接受所有符号、数字、所有内容,还带有 []、{}、()

最佳答案

尝试使用以下正则表达式:

"^[a-zA-Z][a-zA-Z0-9&\\-()$#@!^*=|'{}:.%_+?`~<>\\[\\]]*$"

[ 和 ] 需要在自定义字符类中转义 ( https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html )

关于java - 正则表达式以字符串开头,匹配所有类型的符号、字符、数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46438242/

相关文章:

java - ADF 自定义组件

java - 管理静态数据

Java 正则表达式澄清

c# - 正则表达式仅检测特殊字符之间的数字

java - 匹配后获取后续行,直到行与其他模式匹配

python - 提取字符串中不带双引号的字符串

java - 同时扩展 HashMap 和 LinkedHashMap?

java - 使用Java,如何在Elasticsearch中将匹配查询的默认运算符更改为AND?

java - Spring Jaxb2RootElementHttpMessageConverter 不使用 jaxb 注释

javascript - 在 javascript 中定义一个 maskRe