问题描述
- Java中关于正则表达式的问题:
- 首先说一下我的目的:
当文本框输入 &#<>"" 含有这五个字符的时候,不让通过;
我的表达式是这样写的:""^[^&#<>""]*$""问题是:
中文或英文状态下的#只能有一个可以。
求大神解惑。
解决方案
Java中正则表达式的使用
Java中正则表达式的使用
Java中正则表达式的使用
解决方案二:
""^[^&#<>""]*$""
你这开头和结尾标书不对吧
解决方案三:
楼上说的是对的,你的表达式的意思是,只能以 那几个 字符开头结尾,且中间没有其他字符,
我也没搞清楚,写了个测试,搞明白了。""^""$""分别表示以啥开头,以啥结尾,
我的测试代码贴出来,你看看,我表述的不太清楚,你看看代码应该好理解点,
public class RegexTest { public static void main(String[] args) { Pattern p = Pattern.compile(""[^&#<>""]""); Matcher matcher = p.matcher(""^1&2#3<4>5""6""); String result = matcher.replaceAll(""""); System.out.println(result); p = Pattern.compile(""^[.*]$""); matcher = p.matcher(""no [] ""); System.out.println(matcher.find()); matcher = p.matcher(""[no]""); System.out.println(matcher.find()); }}
代码的运行结果是:
123456falsetrue
时间: 2025-01-24 15:07:06