如何用正则表达式表示非“字符串”

2024-11-02 20:52:44
推荐回答(3个)
回答1:

1、编写java类,TestRegexp,

2、编写java代码,

public class TestRegexp {

public static void main(String[] args) {

//非字符

String regex3 = "[^\\D]";

Pattern p3 = Pattern.compile(regex3);

java.util.regex.Matcher m3 = p3.matcher("+abcd**bs.d{12>LI");

}

}

3、添加结果匹配的打印语句,

System.out.println("START3!!!");

while (m3.find()) {

System.out.println(m3.group());

}


4、执行java代码,在consle窗口中输出 非字符串的结果数据,

回答2:

正则表达式匹配公式为:^((?!XXX).)*$,XXX为字符串。
另外列举一些正则表达式的语法:
[abc] a或b或c . 任意单个字符 a? 零个或一个a
[^abc] 任意不是abc的字符 \s 空格 a* 零个或多个a
[a-z] a-z的任意字符 \S 非空格 a+ 一个或多个a
[a-zA-Z] a-z或A-Z \d 任意数字 a{n} 正好出现n次a
^ 一行开头 \D 任意非数字 a{n,} 至少出现n次a
$ 一行末尾 \w 任意字母数字或下划线 a{n,m} 出现n-m次a
(...) 括号用于分组 \W 任意非字母数字或下划线 a*? 零个或多个a(非贪婪)
(a|b) a或b \b 单词边界 (a)...\1 引用分组
(?=a) 前面有a (?!a) 前面没有a \B 非单词边界
正则表达式中有(?=a)和(?!a)来表示我们是否需要匹配某个东西。

回答3:

var reg = /^[^\"\']*$/;