「java正则双引号」java正则表达式匹配双引号
今天给各位分享java正则双引号的知识,其中也会对java正则表达式匹配双引号进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java中的正则表达式
- 2、关于JAVA正则表达式里的\
- 3、java正则表达式,不能输入引号(单引号和双引号)以及特殊字符、#和&
- 4、java正则转义json中双引号
- 5、java中非中文的正则表达式是什么?
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正则表达式里的\
不看后面的\\,前面应该是\\u0041,其中\\为转义字符表示\,即\u0041,这个是一个整体,,\uxxxx这种格式是Unicode写法,表示一个字符,41应该是16进制数,4*16+1=65,相比较十进制ascii码值知道65对应的是A,我不知道这里为什么写a,可能是写错了吧。
java正则表达式,不能输入引号(单引号和双引号)以及特殊字符、#和&
//写了两个,不知你要的效果是什么
String s3 = "a'b\"cde#fg";
//替换所有非法字符
//结果: a*b*c*d*e*f*g
System.out.println(s3.replaceAll("['\"#]", "*"));
//替换所有非 非法字符
//结果: *'*"***#**
System.out.println(s3.replaceAll("[^'\"#]", "*"));
java正则转义json中双引号
你的JSON本来就有问题吧,怎么可能引号里面还有引号?如果JSON是JS中的,那么双绰号里面可以有单引号,单引号里面也可以有双引号。就像{"地址":"北京市海淀区'中关村南大街'8号"}.
如果JSON在JAVA中,那就用\转义一下。{"地址":"北京市海淀区\"(双引号)中关村南大街\"(双引号)8号"}
或者里面的双引号改成单引号也行{"地址":"北京市海淀区'(单引号)中关村南大街'(单引号)8号"}
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正则表达式匹配双引号、java正则双引号的信息别忘了在本站进行查找喔。
发布于:2022-11-26,除非注明,否则均为
原创文章,转载请注明出处。