在正则表达式中是可以使用空格的,尽管空格可以用 \s表示。
在java正则中,我初次遇到带有空格的正则时可谓是一脸懵B,当时就提出疑问,java中的空格不是可以用\s来表示吗?
随后我测试了一下,代码如下,一目了然。
public class TheBlankSpace {
public static void main(String[] args) {
//带有空格的字符串
String str="welcome to 5G time";
//为了测试空格,就直接用全\w了,当str中每个单词之间是一个空格时。
String pattern = "\\w+ \\w+ \\w+ \\w+";//这的空格也是一个。
Pattern p=Pattern.compile(pattern);
Matcher m= p.matcher(str);
if(m.find()==true) {
boolean string =m.matches();
System.out.println(string);//true
}
}
}
//String pattern = "\\w+ \\w+ \\w+ \\w+";和String pattern = "\\w+\\s\\w+ \\w+ \\w+";等效
//其中道道一看便知
当我把正则中的空格换成大于一个时
public class TheBlankSpace {
public static void main(String[] args) {
//带有空格的字符串
String str="welcome to 5G time";
//为了测试空格,就直接用全\w了,当str中每个单词之间是一个空格时。
String pattern = "\\w+ \\w+ \\w+ \\w+";//这的空格换成大于一个时。
Pattern p=Pattern.compile(pattern);
Matcher m= p.matcher(str);
if(m.find()==true) {
boolean string =m.matches();
System.out.println(string);//false
}
}
}
输出的结果变成了false。