import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestReglex
{
public static void main(String[] args)
{
p("192.168.0.234".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"));
p("We are the so-called \"Vikings\" from the north.");
}
public static void p(Object o) {
System.out.println(o);
}
}
为什么“.”,“"”都是特殊符号,但是为什么在转移时所使用的斜杠数不一样呢?
请教高手,java和正则表达式中的反斜杠
答案:6 悬赏:70 手机版
解决时间 2021-02-10 11:28
- 提问者网友:姑娘长的好罪过
- 2021-02-09 10:41
最佳答案
- 五星知识达人网友:上分大魔王
- 2021-02-09 11:13
这个问题和正则表达式无关
"."需要两个斜杠是因为"."在正则表达式中作为具体字符出现时需要转义,即前面加一个斜杠
而"""在正则表达式中并不需要转义,所以不需要加斜杠
但是在JAVA的字符串中斜杠("\")和双引号(""")都是特殊符号,需要加一个斜杠来转义
故:
"."--正则约束-->"\."--JAVA中字符串约束-->"\\."
"""-----------------------JAVA中字符串约束-->"\""
"."需要两个斜杠是因为"."在正则表达式中作为具体字符出现时需要转义,即前面加一个斜杠
而"""在正则表达式中并不需要转义,所以不需要加斜杠
但是在JAVA的字符串中斜杠("\")和双引号(""")都是特殊符号,需要加一个斜杠来转义
故:
"."--正则约束-->"\."--JAVA中字符串约束-->"\\."
"""-----------------------JAVA中字符串约束-->"\""
全部回答
- 1楼网友:夜余生
- 2021-02-09 15:56
看得头晕
- 2楼网友:梦中风几里
- 2021-02-09 15:43
有的东西就是这样定义的,就想路径中的/在操作的时候也得用//一样的道理!
- 3楼网友:街头电车
- 2021-02-09 14:55
"\\\\" java的正则表达式是4个\ 匹配一个 \
- 4楼网友:撞了怀
- 2021-02-09 14:24
并不是斜杠不一样
而是他们所处的位置不一样
你的"."是在正则表达中 \.代表正则中的"." 但是在正则中 "\"本身也需要被转义一次 所以 \\.其实是在先转义"\"再转义"."
- 5楼网友:平生事
- 2021-02-09 12:46
如果与正则表达式混用,需要使用”\\"双反斜杠进行转义,如果是在java语言中,则用“\”进行转义
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯