两个字符串之间的模式在java中(Pattern between two string in java)

编程入门 行业动态 更新时间:2024-10-24 06:32:04
两个字符串之间的模式在java中(Pattern between two string in java)

我有一个长字符串,形式如下:

如何在<DETAIL>和</TEXT>之间提取数据,请注意它不是一个xml文件。 每个结局后都会有一个新行。 我尝试了以下方法:

Pattern pattern = Pattern.compile("<DETAIL>(.*?)</TEXT>"); Matcher matcher = pattern.matcher(string); while (matcher.find()) { System.out.println(matcher.group(1)); }

它给了我空值,任何人都可以帮忙吗? 提前致谢。

I have a long string which is of the form:

How can i extract the data between <DETAIL> and </TEXT>, note that its NOT an xml file. There is a new line after every ending. I tried the following :

Pattern pattern = Pattern.compile("<DETAIL>(.*?)</TEXT>"); Matcher matcher = pattern.matcher(string); while (matcher.find()) { System.out.println(matcher.group(1)); }

It gives me null values, any one can help ? Thanks in advance.

最满意答案

默认情况下. 与换行符不匹配。

使用s标志( DOTALL )来制作. 匹配到换行符。

Pattern pattern = Pattern.compile("(?s)<DETAIL>(.*?)</TEXT>");

要么

Pattern pattern = Pattern.compile("<DETAIL>(.*?)</TEXT>", Pattern.DOTALL);

By default, . does not match newline.

Use s flag (DOTALL) to make . match to newline.

Pattern pattern = Pattern.compile("(?s)<DETAIL>(.*?)</TEXT>");

or

Pattern pattern = Pattern.compile("<DETAIL>(.*?)</TEXT>", Pattern.DOTALL);

更多推荐

本文发布于:2023-07-16 07:30:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1125449.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字符串   两个   模式   string   Pattern

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!