我正在构建一个JSP,但我是新来的正则表达式,我有一些麻烦。我有一个很长的字符串,看起来像这样的模式:正则表达式匹配java中的一个长字符串中的字符
==SOME_ID== - item 1 - item 2 - item 3 .. item 100 == SOME_ID_2 == - item 1 - item 2 - item 3 ... item 100 == SOME_ID_3 == ...
因此它具有“标识”,这是包含在“==”字符,后跟一个破折号“ - ”分隔的列表。我试图提取标识符和它们的项目元素。一旦我从字符串中提取信息,我计划用这些信息构建一个XML文档。
还有一点需要注意,一个“item”可以不只一个单词。
编辑:这是到目前为止我的代码
<%
String testStr = (String)pageContext.getAttribute("longStr");
String[] ids = null;
String delimeterRegex = "(?i),==*==";
ids = testStr.split(delimeterRegex);
pageContext.setAttribute("ids", ids);
%>
<c:forEach items="${ids}" var="id">
${id}
</c:forEach>
任何帮助将不胜感激。谢谢
啊!你从哪里得到你的JSP中的字符串? –
这个问题听起来好像用流解析器可以解决更好的问题......读取char字符,直到命中==,然后将名称存储到下一个== ==然后,... – Lucas
Rohit,它是一个硬编码的字符串。 –