java如何用正则表达式从字符串中提取一个字串
字符串如下:FN;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:=E5=A5=95=E5=BD=AC=E9=83=91N;ENCODIN...
字符串如下:FN;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:=E5=A5=95=E5=BD=AC =E9=83=91
N;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:=E9=83=91;=E5=A5=95=E5=BD=AC;;;
ORG;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:=E5=8D=8E=E5=8D=97=E5=86=9C=E4=
=B8=9A=E5=A4=A7=E5=AD=A6;=E5=BC=80=E5=8F=91=E9=83=A8
TEL;HOME:075486652495
TEL;WORK:02082224556
TEL;CELL:15800038835
TEL;FAX;WORK:010245566
ADR;WORK;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:;;=E5=B9=BF=E5=B7=9E=E5=
=B8=82=E5=A4=A9=E6=B2=B3=E5=8C=BA=E4=BA=94=E5=B1=B1=E8=B7=AF;=E5=B9=BF=E5=
=B7=9E=E5=B8=82;=E5=B9=BF=E4=B8=9C=E7=9C=81;515000;=E4=B8=AD=E5=9B=BD
ADR;HOME;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:;;=E6=BD=AE=E9=98=B3=E5=
=8C=BA=E9=87=91=E6=B5=A6=E8=A1=97=E9=81=93=E6=A2=85=E8=8A=B1=E4=B9=A1;=E6=
=B1=95=E5=A4=B4=E5=B8=82;=E5=B9=BF=E4=B8=9C=E7=9C=81;515100;=E4=B8=AD=E5=
=9B=BD
就是将上面字符串中的
ADR;WORK;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:;;=E5=B9=BF=E5=B7=9E=E5=
=B8=82=E5=A4=A9=E6=B2=B3=E5=8C=BA=E4=BA=94=E5=B1=B1=E8=B7=AF;=E5=B9=BF=E5=
=B7=9E=E5=B8=82;=E5=B9=BF=E4=B8=9C=E7=9C=81;515000;=E4=B8=AD=E5=9B=BD
这个子串用正则表达式匹配并提取出来,谢谢~~
我是用这个模式匹配"ADR;WORK([\\s\\S\\r\\n\\.]*?)([\\r\\n])"但是只能取出第一行的字串,如ADR;WORK;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:;;=E5=B9=BF=E5=B7=9E=E5=但是接下来的两行也是要一起取出来的,所以得修改一下正则表达式,急用,跪求帮忙,谢谢~~ 展开
N;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:=E9=83=91;=E5=A5=95=E5=BD=AC;;;
ORG;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:=E5=8D=8E=E5=8D=97=E5=86=9C=E4=
=B8=9A=E5=A4=A7=E5=AD=A6;=E5=BC=80=E5=8F=91=E9=83=A8
TEL;HOME:075486652495
TEL;WORK:02082224556
TEL;CELL:15800038835
TEL;FAX;WORK:010245566
ADR;WORK;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:;;=E5=B9=BF=E5=B7=9E=E5=
=B8=82=E5=A4=A9=E6=B2=B3=E5=8C=BA=E4=BA=94=E5=B1=B1=E8=B7=AF;=E5=B9=BF=E5=
=B7=9E=E5=B8=82;=E5=B9=BF=E4=B8=9C=E7=9C=81;515000;=E4=B8=AD=E5=9B=BD
ADR;HOME;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:;;=E6=BD=AE=E9=98=B3=E5=
=8C=BA=E9=87=91=E6=B5=A6=E8=A1=97=E9=81=93=E6=A2=85=E8=8A=B1=E4=B9=A1;=E6=
=B1=95=E5=A4=B4=E5=B8=82;=E5=B9=BF=E4=B8=9C=E7=9C=81;515100;=E4=B8=AD=E5=
=9B=BD
就是将上面字符串中的
ADR;WORK;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:;;=E5=B9=BF=E5=B7=9E=E5=
=B8=82=E5=A4=A9=E6=B2=B3=E5=8C=BA=E4=BA=94=E5=B1=B1=E8=B7=AF;=E5=B9=BF=E5=
=B7=9E=E5=B8=82;=E5=B9=BF=E4=B8=9C=E7=9C=81;515000;=E4=B8=AD=E5=9B=BD
这个子串用正则表达式匹配并提取出来,谢谢~~
我是用这个模式匹配"ADR;WORK([\\s\\S\\r\\n\\.]*?)([\\r\\n])"但是只能取出第一行的字串,如ADR;WORK;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:;;=E5=B9=BF=E5=B7=9E=E5=但是接下来的两行也是要一起取出来的,所以得修改一下正则表达式,急用,跪求帮忙,谢谢~~ 展开
3个回答
展开全部
"ORG([\\s\\S]*?)(?=ADR;HOME)"
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试多行模式
Multiline mode can also be enabled via the embedded flag expression (?m).
Multiline mode can also be enabled via the embedded flag expression (?m).
更多追问追答
追问
什么意思,看不懂,谢谢
追答
让正则表达式可以匹配多行,而不是一行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询