有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

regex Java模式,用于双引号或单引号内的数据,不包括括号内的引号

我需要一个Java模式来获取作为字符串传递的HTML元素的所有属性。 最初,我使用以下模式拆分它们

private static Pattern scriptletvalue1 = Pattern.compile("value=\"([^\"]*)\"");
private static Pattern scriptletvalue2 = Pattern.compile("value='([^']*)'");
private static Pattern scriptletId1 = Pattern.compile("id=\"([^\"]*)\"");
private static Pattern scriptletId2 = Pattern.compile("id='([^\']*)'");

以此类推,对于所有属性,这将很好地工作,直到属性值中没有双引号。 但是考虑到调用函数的属性值中的scriptlet可能有双引号的参数,这就是上述模式失败的地方

所以作为一个属性

<div value="<%=AnyText%>"></div>

第一种模式会给我<%=AnyText%>

但当我用同样的模式来

<div value="<%=myFunction.getValue("some Key")%>"></div>

模式将返回<%=myFunction.getValue(,而不是<;%=我的功能。getValue(“某些键”)%>

如何修复它


共 (0) 个答案