想过滤以下格式的字符串,
***+***+***+***以加号分割,中间的字符串可以是汉字,英文,数字。请问,该正则表达式怎么写。我已经试过^(\W*\w*)\+(\W*\w*)\+(\W*\w*)\+(\W*\w*)$的写法,但是在我的开发工具中,字符串中含有数字时,无法通过测试。
***+***+***+***以加号分割,中间的字符串可以是汉字,英文,数字。请问,该正则表达式怎么写。我已经试过^(\W*\w*)\+(\W*\w*)\+(\W*\w*)\+(\W*\w*)$的写法,但是在我的开发工具中,字符串中含有数字时,无法通过测试。
[\\u4e00-\\u9fa5] 表示一个中文
+ 表示一个或多个
* 表示零个或多个过滤***+***+***+***首先想问一下你所说的过滤***+***+***+***三个*是不是指只有三个字符
如果是
那么正则表达式为 [\\w[\\u4e00-\\u9fa5]]{3}\\+[\\w[\\u4e00-\\u9fa5]]{3}\\+[\\w[\\u4e00-\\u9fa5]]{3}测试:
public class Test {
public static void main(String [] args){
String str="我1d+我1d+我1d";
String reg="[\\w[\\u4e00-\\u9fa5]]{3}\\+[\\w[\\u4e00-\\u9fa5]]{3}\\+[\\w[\\u4e00-\\u9fa5]]{3}";
System.out.println(str.matches(reg));
}
}运行结果:
true非复制粘贴,望采纳。Thanks