java正则表达式",(?=[^尀"]+?尀",|[^尀"]+?尀"$)

请问一下这个正则表达式是什么意思呢能仔细说明一下吗谢谢
2024-12-24 12:04:25
推荐回答(4个)
回答1:

我举例说明:
x(?=y)
▲表示:右边紧跟y的x,但只包含x,不包含y
x(?=y|z)
▲表示:右边紧跟y或z的x,但只包含x,不包含y或z
x(?!y)
▲表示:右边不跟y的x,只包含x

你的这个正则表达式完全正确:
,(?=[^\"]+?\",|[^\"]+?\"$)
▲它只匹配1个,
▲▲但条件是:
▲条件1▲:此,右边到第1个",之间有至少1个不是"的字符
▲条件2▲:此,右边到结尾的"之间有至少1个不是"的字符

举例说明:
它匹配下面3行中的前2个,
(每次匹配1个,而不是同时匹配前2个)
x,y,z",
x,y,,",
x,y,z,"

你要匹配这样的空格,只需把此式中的首个,换成空格即可:
(?=[^\"]+?\",|[^\"]+?\"$)
▲这可以处理你举的例子。

如果情况更复杂,请再举例,我继续帮你。

回答2:

\" 表示 : "

[^\"]表示: 除了 " 以外的任意字符
+ 表示:一次或多次
$ 表示正则表达式的结尾标志

| 表示 或
? 表示 有1个或没有

回答3:

楼主给个字符串让我验证一下!还有就是,如果想吧空格全部换成_的话,试试下面的正则:

var a ="dsad sdsa sad saa sad sd ad sa as as da asd   sasdsda a ";
var reg = /\s/g;
var str = a.replace(reg,"_");

谢谢!以上是js的写法!如果你是写java的话,下面这样

String s2= s1.replaceAll("\s", "_");

回答4:

写一段用引号开头,并用引号结尾,中间包括一些字符和逗号的文本来试验一下它找到了什么匹配内容。