导航:首页 > 编程语言 > java正则双引号

java正则双引号

发布时间:2022-12-15 19:59:13

‘壹’ java中的正则表达式

Java正则表达式 (<img.*?)style=\".*?\" 替换成 $1
其中.*表示0个或0以上多个任意字符
.*?表示0个或0以上多个任意字符的非贪婪匹配,就是假如一个句子中有多个style,它匹配距离最近的那个style,同理后面的.*?匹配距离最近的双引号
$1表示反向引用,它代表的是正则表达式中的第一个小括号所括起来的分组的内容,如果有两个小括号括起来的内容,则分别用$1,$2表示它们(在替换后的字符串中)
完整的Java程序如下
123456public class CC { public static void main(String[] args) { String s="<img src=\"file/img/2016/12-28/1234-25521482893088459.jpg\" title=\"1234.jpg\" alt=\"\" width=\"396\" height=\"271\" style=\"width: 396px; height: 271px;\"/>"; System.out.println(s.replaceAll("(<img.*?)style=\".*?\"", "$1")); }}
运行结果
<img src="file/img/2016/12-28/1234-25521482893088459.jpg" title="1234.jpg" alt="" width="396" height="271" />

‘贰’ java正则转义json中双引号

你的JSON本来就有问题吧,怎么可能引号里面还有引号?如果JSON是JS中的,那么双绰号里面可以有单引号,单引号里面也可以有双引号。就像{"地址":"北京市海淀区'中关村南大街'8号"}.
如果JSON在JAVA中,那就用\转义一下。{"地址":"北京市海淀区\"(双引号)中关村南大街\"(双引号)8号"}
或者里面的双引号改成单引号也行{"地址":"北京市海淀区'(单引号)中关村南大街'(单引号)8号"}

‘叁’ java中*的用法

你说的是正则表达式里的*号,正则表达式本身是一个字符串,而字符串用双引号""表示。

‘肆’ "12345" "27462" java正则表达式如何匹配双引号引起来的5位数字,完全匹配。求大神

packagecn.test;

importjava.util.regex.Matcher;
importjava.util.regex.Pattern;

publicclassTest{
publicstaticvoidorFind(StringregexString){
Patternpattern=Pattern.compile("“\d{5}”");
Matchermatcher=pattern.matcher(regexString);
Stringtemp="";
while(matcher.find()){
temp=matcher.group().replaceAll("“","").replaceAll("”","");
System.out.println(temp);
}
}
publicstaticvoidmain(String[]args){
StringregexString="nfwenlwkngkwleknkwk"12345"nlkknflkwenfk"43678"“12345”wefnw0-0-0";
Patternpattern=Pattern.compile(""\d{5}"");
Matchermatcher=pattern.matcher(regexString);
Stringtemp="";
while(matcher.find()){
temp=matcher.group().replaceAll(""","");
System.out.println(temp);
}
orFind(regexString);
}
}

//不多说什么,运行结果说话;记得java的字符串中用到双引号“”要用"转义的

‘伍’ 关于JAVA正则表达式里的\

1.41(16进制)是A字符的ascii码
2.JAVA字符串是用""括起来的,字符串中例如内容有双引号",这样写"""是有错的,就需要用\转义字符将"表示为一个普通字符,则写为"\""。

‘陆’ java 中怎么用正则表达式删除"[ " 或 " ]" 一些特殊字符 先谢了

例子如下:
String pattern = "([-+*/^()\\]\\[])";
String test = "1237019830+32[89-234]234";
System.out.println("------test1=["+test+"]");
test = test.replaceAll(pattern, "");
System.out.println("------test2=["+test+"]");
这个应该能够满足你的要求,已测试。
运行结果为:
------test1=[1237019830+32[89-234]234]
------test2=[12370198303289234234]

‘柒’ java中非中文的正则表达式是什么

非中文 [^\u4e00-\u9fa5]


中文的正则表达式是[\u4e00-\u9fa5]

其他正则表达式

字符类
[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
[a-z&&[def]] d、e 或 f(交集)
[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)
以上在java中使用时用双引号将它们括起来就可以了

预定义字符类
. 任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9] (单个数字)
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]
以上在java中使用时除了将它们用双引号括起来以为,还须加\转义,例如\d的实际用法是”\\d“

POSIX 字符类(仅 US-ASCII)

\p{Lower} 小写字母字符:[a-z]
\p{Upper} 大写字母字符:[A-Z]
\p{ASCII} 所有 ASCII:[\x00-\x7F]
\p{Alpha} 字母字符:[\p{Lower}\p{Upper}]
\p{Digit} 十进制数字:[0-9]
\p{Alnum} 字母数字字符:[\p{Alpha}\p{Digit}]
\p{Punct} 标点符号:!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
\p{Graph} 可见字符:[\p{Alnum}\p{Punct}]
\p{Print} 可打印字符:[\p{Graph}\x20]
\p{Blank} 空格或制表符:[ \t]
\p{Cntrl} 控制字符:[\x00-\x1F\x7F]
\p{XDigit} 十六进制数字:[0-9a-fA-F]
\p{Space} 空白字符:[ \t\n\x0B\f\r]

以上字符串要加双引号和反斜杠号Greedy 数量词

X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次

用法也是将它们用双引号括起来


Logical 运算符

XY X 后跟 Y
X|Y X 或 Y
(X) X,作为捕获组

用法也是将它们用双引号括起来

注意:正则表达式则有在方法参数明确是以正则表达式为参考时才使用,否则如果方法参数是普通字符序列时是不起作用的。
(引自网络和书籍)

‘捌’ 如何将双引号包含双引号的内容用java的正则表达式提取出来

正则如下:

"[^"]*"

转换为java的字符串就是

String regstr = ""[^"]*"";

‘玖’ java正则表达式,不能输入引号(单引号和双引号)以及特殊字符<、>、#和&

//写了两个,不知你要的效果是什么
Strings3="a'b"c<d>e#f&g";

//替换所有非法字符
//结果:a*b*c*d*e*f*g
System.out.println(s3.replaceAll("['"<>#&]","*"));

//替换所有非非法字符
//结果:*'*"*<*>*#*&*
System.out.println(s3.replaceAll("[^'"<>#&]","*"));

‘拾’ 如何使用java正则去掉这个字符串的引号

例如:'SL' 去掉后变成SL

String regexp = "\'";String str = "'SL'";System.out.println("替换前:" + str);str = str.replaceAll(regexp, "");System.out.println("替换后:" + str);我开始时犯了个很弱智的错误,以至于现在搞了近二十分钟才出来。就是把上面的str = str.replaceAll(regexp, "");换成str.replaceAll(regexp, "");然后再打印,发现结果始终是 ’SL',后来恍然大悟,String类被final修饰,是不可变的。所以对String对象施加任何操作都不会改变它的内容。而 str.replaceAll(regexp, ""); 相当于创建了一个新的字符串对象,即去掉了单引号的源字符串。 再修改字符串引用 str 指向新的字符串。则现在打印的就是去掉单引号后的字符串了。

阅读全文

与java正则双引号相关的资料

热点内容
dvd光盘存储汉子算法 浏览:758
苹果邮件无法连接服务器地址 浏览:963
phpffmpeg转码 浏览:672
长沙好玩的解压项目 浏览:145
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:486
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:383
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:350
风翼app为什么进不去了 浏览:779
im4java压缩图片 浏览:362
数据查询网站源码 浏览:151
伊克塞尔文档怎么进行加密 浏览:893
app转账是什么 浏览:163