java正则表达式怎么匹配反斜杠
在正则中,反斜杠为元字符,要用\\表示,在java中反斜需要转义,每个\要又要写成\\,所有就成了\\\\
看下面这个例子,表示\后在紧接一个数字。
char str = "\\\\\\d"
需要注意是,在代码中才需要两次转义,如果是键盘输入只需按正常正则写法就可以了。
可能这个问题对于初学者来说比较头疼,但是只要别人一点可能就明白了。
JAVA中匹配反斜杠的正则表达式的书写方式为:
1
String regex="\\\\";
注意了,一定要写四个反斜杠,第一和第三个反斜杠是用作java字符串的转义,实际上只代表两个反斜杠。
其实只要输入如下代码运行验证一下即可:
System.out.print("\\\\");//输出为 \\
因为在Java中反斜杠是转义符,所以要让它表示本意,需要转义符(就是另一个反斜杠)进行转义,所以就需要两个反斜杠来表示反斜杠.这样在用java正则表达式匹配时,就需要用四个反斜杠(两个是转义符,两个是反斜杠)来匹配两个反斜杠.具体的程序如下,你看看就明白了.
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
String s="\\";
String regex="\\\\";
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(s);
if(m.matches()){
System.out.println("匹配");
}else{
System.out.println("不匹配");
}
}
}
运行结果
匹配
加转义字符/
求java中正则表达式的例子?
26 中文字符的正则表达式:[\一-\龥]27 双字节字符:[^\\x00-\\xff] (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))28 空白行的正则表达式:\\n\\s*\\r (可以用来删除空白行)29 HTML标记的正则表达式:<(\\S*?)[^>]*>.*?<\/\\1>|<.*? \/>...
java 正则表达式用法
在JAVA中使用正则表达式时,应该import下面两个类 import java.util.regex.Matcher;import java.util.regex.Pattern;另外"\\"应该被替换成"\\\\"。具体方法是:String sql="create table test(id varchar(10) not null)"String reg="create\\\\s+table\\\\s+.+";Pattern p = Pattern.compile(reg);Matc...
java 正则表达式\\\\d什么意思
回答:String str=1+2;String[] temp = str.split(\\\\D); 解答:\\\\d正则表达式是非数字的意思以非数字分割字符串str,将所得结果存档到temp字符串数组中。\\\\d*表示有多位数字。比如在验证的form中就常用到if (!this.integral.matches("\\\\d*")) {
JAVA 正则表达式怎么写。。。查找 以A 开头 以B 结尾 中间包含字符串 C...
1、打开myeclipse,准备编写java代码;2、新建java类,3、编写java代码,package test;import java.util.regex.Pattern;public class TestRegexp {public static void main(String[] args) {String regex = "^A.*C.*B$";Pattern p = Pattern.compile(regex);java.util.regex.Matcher m = p....
java中使用正则表达式来匹配(1\/2),正则表达式怎么写?
x|y 匹配 x 或 y。例如,'z|food' 匹配“z”或“food”。'(z|f)ood' 匹配“zood”或“food”。
正则表达式“\\\\d+\\\\.{0,1}\\\\d*”是什么意思
因为Java正则表达式需要转义反斜杠,所以有两个反斜杠,实际的正则表达式为\\d+\\.{0,1}\\d* 这个正则表达式表示整数或者小数 \\d+表示1个或多个0到9的数字,是整数部分(至少是一位整数的整数部分)\\.{0,1}表示0个或1个小数点,因为点在正则表达式中表示任意字符,所以这里需要用转义符\\,使它变回原来...
java求一个简单的正则表达式:以@开头,中间可以是任意字符除了‘\\’,重 ...
\/\/已修改!\/\/匹配@xxx,长度为1-20。import java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;public class MatcherDemo { private static String regex = "@[^\\\\\\@ ]{1,20}";private static Pattern pattern = Pattern.compile(regex)...
JAVA中的正则表达式“\\\\[([^\\\\]]+)\\\\]”这个表示什么意思?两个转义字符...
在正则中括号表示字符集,要表示中括号字符必须转义 整个正则匹配 中括号中的内容 开头的\\\\[ 匹配" [ "字符 尾部的\\\\]匹配 “]"字符 中间的[([^\\\\]]+),表示所有非"]"字符组成的字符串
java的正则表达式,"\\b(\\w+)\\b\\s+\\1\\b"这个怎么理解
(\\w+)匹配一个词, \\1匹配第一个匹配组, 在这里就是前面匹配的那个词.所以:(\\w+) \\1 匹配两个完全相同的词. (词里可以有至少一个字母或数字)\\s+ 两个词当中隔了至少一个能被\\s匹配的符号(比如空格, tab)
java 正则表达式怎样写才只能输入20到60之间的数字
import java.util.Scanner;public class test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入数据:"); String in = sc.nextLine(); if(checkNum(in)){\/\/ if(checkValue(in)) System.out.println("输入...
韦关左氧: 因为在Java中反斜杠是转义符,所以要让它表示本意,需要转义符(就是另一个反斜杠)进行转义,所以就需要两个反斜杠来表示反斜杠.这样在用java正则表达式匹配时,就需要用四个反斜杠(两个是转义符,两个是反斜杠)来匹配两个反斜杠...
涧西区15812657787: 请教高手,java和正则表达式中的反斜杠 - ?
韦关左氧: 这个问题和正则表达式无关"."需要两个斜杠是因为"."在正则表达式中作为具体字符出现时需要转义,即前面加一个斜杠 而"""在正则表达式中并不需要转义,所以不需要加斜杠 但是在JAVA的字符串中斜杠("\")和双引号(""")都是特殊符号,需要加一个斜杠来转义 故:"."--正则约束-->"\."--JAVA中字符串约束-->"\\.""""-----------------------JAVA中字符串约束-->"\""
涧西区15812657787: java 截取 反斜杠 - ?
韦关左氧: 楼主可以考虑用正则表达式 pattern = Pattern.compile("\\");//规定分隔符 String[] strs = pattern.split(需要分析的句子);//分解句子,按分隔符将句子分解为String数组 for (int i = 0; iSystem.err.println(strs[i]);//打印每个分段 }"900006交通运输集团"和"900005交通运输集团"都是排在数组中下标为6的位置.取得后,再从该字符串用String中的substring方法取得所需内容如(900006或900005)即可
涧西区15812657787: Java正则表达式中的'?''什么意思 如:Pattern.compile("<img(.|\\s)+?src='([^']+)'") - ?
韦关左氧: 正则表达式中+ 匹配1或多个正好在它之前的那个字符.例如正则表达式9+匹配9、99、999等.?匹配0个或1个正好在它之前的那个字符.例如正则表达式9?匹配9和99.
涧西区15812657787: 正则表达式“\\d+\\.{0,1}\\d*”是什么意思 - ?
韦关左氧: 因为Java正则表达式需要转义反斜杠,所以有两个反斜杠,实际的正则表达式为\d+\.{0,1}\d* 这个正则表达式表示整数或者小数 \d+表示1个或多个0到9的数字,是整数部分(至少是一位整数的整数部分) \.{0,1}表示0个或1个小数点,因为点在正则表达式中表示任意字符,所以这里需要用转义符\,使它变回原来的小数点的意思,{0,1}表示0或1个,也就是可以有或者没有小数点 \d*表示0个或多个0到9的数字,是小数部分,0个时表示这个数没有小数部分,只有整数部分.所以整个正则表达式表示整数(比如 123)或者带整数部分的小数(比如 123.12)(包括0.01这样的小数)
涧西区15812657787: Java字符串匹配? - ?
韦关左氧: 按LS所说的确可以.要是一定要用String的话可以用 String[] s; for(String ss:s) if(ss.contains("贸易")) System.out.println(ss); 这样的方法.
涧西区15812657787: java 正则表达式 如何匹配"*"? - ?
韦关左氧: 报错是因为 *这个字符在正则表达式中已经定义了 好像是代表任意一个字符吧 记不太清了 就好像是你定义一个对象的名字时用到了java关键字一样的道理 改正方法:a.replace("\\*","dog"); \\*对 *进行了转义 是真正的*
涧西区15812657787: 正则表达式:如何匹配反斜杠 "/" - ?
韦关左氧: 反斜杠的麻烦 在早期规定中,正则表达式用反斜杠字符 (\) 来表示特殊格式或允许使用特殊字符而不调用它的特殊用法.这就与 Python 在字符串中的那些起相同作用的相同字符产生了冲突.让我们举例说明,你想写一个 RE 以匹配字符串 \...
涧西区15812657787: 正则表达式:如何匹配反斜杠 "/" - ?
韦关左氧: 这就与 Python 在字符串中的那些起相同作用的相同字符产生了冲突. 让我们举例说明,你想写一个 RE 以匹配字符串 "\section",可能是在一个 LATEX 文件查...
涧西区15812657787: 正则表达式,求匹配:双反斜杠(\\)合法,单反斜杠不合法(\) - ?
韦关左氧: ^((\\\\)*[^\s"'(\\)]*)*$ 这个正则表示一个不包括空白符,引号,圆括号的字符串,反斜杠只能成对出现,匹配这个正则表达式就是合法的,否则非法 如果你想找出只有奇数个反斜杠的子字符串 ^(?:(\\(?:\\\\)*(?!\\).?)*(?:\\\\)*[^\s'"\\]*)*$ 这个正则表达式的Group1就是