修复xml表达式里有空格就会解析出异常的问题

This commit is contained in:
bryan.zhang
2018-01-02 11:32:52 +08:00
parent 637b0db1a0
commit 58b9f479b3

View File

@@ -109,7 +109,7 @@ public class FlowParser {
RegexEntity regexEntity = null; RegexEntity regexEntity = null;
Node node = null; Node node = null;
for (int i = 0; i < condArray.length; i++) { for (int i = 0; i < condArray.length; i++) {
regexEntity = parseNodeStr(condArray[i]); regexEntity = parseNodeStr(condArray[i].trim());
node = nodeMap.get(regexEntity.getCondNode()); node = nodeMap.get(regexEntity.getCondNode());
chainNodeList.add(node); chainNodeList.add(node);
if(regexEntity.getRealNodeArray() != null){ if(regexEntity.getRealNodeArray() != null){
@@ -176,14 +176,18 @@ public class FlowParser {
list.add(m.group()); list.add(m.group());
} }
RegexEntity regexEntity = new RegexEntity(); RegexEntity regexEntity = new RegexEntity();
regexEntity.setCondNode(list.get(0)); regexEntity.setCondNode(list.get(0).trim());
if(list.size() > 1){ if(list.size() > 1){
regexEntity.setRealNodeArray(list.get(1).split("\\|")); String[] realNodeArray = list.get(1).split("\\|");
for (int i = 0; i < realNodeArray.length; i++) {
realNodeArray[i] = realNodeArray[i].trim();
}
regexEntity.setRealNodeArray(realNodeArray);
} }
return regexEntity; return regexEntity;
} }
public static void main(String[] args) { public static void main(String[] args) {
System.out.println(parseNodeStr("aaaa(bbb(xxxx|yyyy)|yyyy)")); System.out.println(parseNodeStr("aaaa ( xxxx | yyyy | vvvv )"));
} }
} }