假设输入字符串可以指定如下:
- 读取(xpath('...'))或
- xpath('...') 或
- ...
Where ... 仅包含一些 xpath 表达式,例如,/comment/text
我真正想要的只是 xpath 表达式;考虑到可以指定的三种可能的有效模式,一般提取该值的有效方法是什么。
另外,我正在用 Java 实现它。
它会帮助您发布一些代码,但您可以使用字符串拆分。请参考http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#split%28java.lang.String%29
如果您确定有 xpath('') ,那么您可以使用 xpath(' 作为您的正则表达式并剥离字符串并收集其中的数据,直到它遇到另一个 ' (撇号)。
我希望这能给你一个想法。
这是基本示例,它与两个字符串示例中的 xpath 部分匹配:
import java.util.regex.*;
class Untitled {
public static void main(String[] args) {
String input = "read(xpath('...'))";
String result = null;
Pattern regex = Pattern.compile("xpath\\(\'(.*?)\'\\)");
Matcher matcher = regex.matcher(input);
if (matcher.find()) {
result = matcher.group(1);
}
System.out.println(result);
}
}