那么如果要匹配回车的话是把此式中的首个,换成\n吗?
追答如果要匹配的回车符合上述条件,当然可以用。
如果不行,请举例。
我改成String a= line.replaceAll("\n(?=[^\"]+?\",|[^\"]+?\"$)", "#");
这样运行以后没有效果啊?
直接改成\n是没有错的吧?
Java中要用\\n
另外,换行符的情况比较复杂:
一个换行可能由2种字符组成,分3种情况,你可能需要用(\\r?\\n|\\r)
所以整一句是什么意思啊请问?
追答有点我想问下你 ,你要匹配的正则是啥? 你写的很乱,能把完整写出来啊
追问整句是这个样子的
String s2= s1.replaceAll(",(?=[^\"]+?\",|[^\"]+?\"$)", "_");
是把引号里面的逗号都替换成_的意思吗?
如果想写把引号里面的空格替换成_应该怎么改呢?
你确定你写的正则表达式是你要匹配的么? 这正则有错误唉
明显的 $符号是结尾的标志
追问可以运行没有错啊?请问是哪里错了呢?
那请问一下如果想写把引号引起来的字符串里面的空格替换成_应该怎么写正则表达式呢?
就比如这样的一行
s1="1,“2 3 3 3",2";
变成
s2="1,“2_3_3_3",2";
这个就用字符串替换就可以了,不需要用正则
String s2= s1.replaceAll(" ", "_");
问题解决了没?
不是的,因为只想取代引号里面的空格,不想取代其他字符串里面的空格
例如
s1="a b,"1 2 3",c d";
变成
s2="a b,"1_2_3",c d";
所以要用正则
请问要怎么做呢?
String s1 = "a b,\"1 2 3\",c d";
int start = s1.indexOf("\"");
int end = s1.lastIndexOf("\"");
//System.out.println(start);
//System.out.println(end);
String subStr = s1.substring(start, end+1);
subStr = subStr.trim().replace(" ", "_");
String s2 = s1.substring(0,start)+subStr+s1.substring(end+1);
System.out.println(s2);
我是用字符串拼接的,仅供参考
楼主给个字符串让我验证一下!还有就是,如果想吧空格全部换成_的话,试试下面的正则:
var a ="dsad sdsa sad saa sad sd ad sa as as da asd sasdsda a ";谢谢!以上是js的写法!如果你是写java的话,下面这样
String s2= s1.replaceAll("\s", "_");java正则表达式",(?=[^\\"]+?\\",|[^\\"]+?\\"$)
▲表示:右边紧跟y的x,但只包含x,不包含y x(?=y|z)▲表示:右边紧跟y或z的x,但只包含x,不包含y或z x(?!y)▲表示:右边不跟y的x,只包含x 你的这个正则表达式完全正确:,(?=[^\\"]+?\\",|[^\\"]+?\\"$)▲它只匹配1个,▲▲但条件是:▲条件1▲:此,右边到第1个",之间有至...
JAVA中的正则表达式“\\\\[([^\\\\]]+)\\\\]”这个表示什么意思?两个转义字符...
在正则中括号表示字符集,要表示中括号字符必须转义 整个正则匹配 中括号中的内容 开头的\\\\[ 匹配" [ "字符 尾部的\\\\]匹配 “]"字符 中间的[([^\\\\]]+),表示所有非"]"字符组成的字符串
java中怎么用正则表达式表示数字,包括整数,小数等
java表示整数和小数的正则表达式 ^[+-]?\\\\d+(\\\\.\\\\d+)?$。正则表达式 正则表达式,又称规则表达式,(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用正则表达式进行...
正则表达式 !\\\\^\\\\.\\\\*\\\\$!([^!]+)! 是什么意思
在java中要进行转义,所以转化成标准正则表达式后就是“ !\\^\\.\\*\\$!([^!]+)!”正则表达式中\\^ 表示就是^的本身的意思,\\. \\$ ,同理得知;所以最后你的表达式表示!^.$! 开头后面跟任意非!的字符串重复一次到无穷次,然后以!结束。例如:1321312!^.$! 123!123123。如果想让字符串只能...
Java的正则表达式"^([\\\\d\\\\.\\\\s]+)\\\\s*(.+)\\\\s+[\\\\d\\\\s]+$" 对应如果...
参考:在VBA里面使用正则表达式,需要调用vbscript.regexp对象,正则表达式基本上差不多。如你上面的正则表达式如果在VBA里面使用的话:Dim regEx As Object Set regEx = CreateObject("vbscript.regexp")With regEx .Global = True .IgnoreCase = True .Pattern = "^([\\\\d\\\\.\\\\s]+)\\\\s*(.+)\\...
求java编写的各类中文时间识别的正则表达式
匹配中文字符的正则表达式: [\一-\龥]匹配双字节字符(包括汉字在内):[^\\x00-\\xff]匹配空行的正则表达式:\\n[\\s| ]*\\r 匹配HTML标记的正则表达式:\/<(.*)>.*<\\\/>|<(.*) \\\/>\/ 匹配首尾空格的正则表达式:(^\\s*)|(\\s*$)匹配Email地址的正则表达式:\\w+([-+.]\\w+)*@\\...
.jpg 在java中用正则表达式如何表示呢
一个双字节字符长度计2,ASCII字符计1)String.prototype.len=function(){returnthis.replace(\/[^\\x00-\\xff]\/g,"aa").length;} 匹配空行的正则表达式:\\n[\\s| ]*\\r 匹配html标签的正则表达式:<(.*)>(.*)<\\\/(.*)>|<(.*)\\\/> 匹配首尾空格的正则表达式:(^\\s*)|(\\s*$)...
java 正则表达式 (.+?)怎样理解?举个例子详细说明。
正则表达式的符号理解吗,* ? + 其中*代表的是0-无穷个个,比如\/^w*$\/,代表有0个或多个数字或字母 ?代表是0-1个,比如\/^d*$\/,代表最多只有一个数字,也可能没有 +代表有1-无穷个,比如\/^d+$\/,代表最少有一个数字 .代表的是换行符之外的任意字符,它代表的字符,不是个数...
java中正则表达式中的^和$有什么用,给我举个例,谢谢大神们
比如有正则表达式如下:"\\d+"和"^\\d+"那么字符串"a123456789"匹配第一个正则表达式是能匹配通过的,但是第二个就不行 ^符号在正则表达式第一位出现表示的是强匹配开头,也就是必须是\\d+开头的字符串才能匹配通过,中间一部分符合\\d+规则的匹配不通过,$同理,是强结束匹配用的 ...
高级Java开发中什么是正则表达式?
Java 正则表达式 正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。Java正则表达式和Perl的是最为相似的。java.util.regex包主要包括以下三个类:Pattern类:pattern对象是一个正则表达式的编译表示。Pattern类没有公共...