鑑於輸入字符串可以如下規定:正則表達式和字符串操作技術
- 讀或
- 的xpath( '... ')或 (的xpath(' ...'))
- ...
凡...只是擁有一些XPath表達式,例如,/comment/text
我真正想要的是XPath表達式;考慮到可能指定的三種可能的有效模式,在一般情況下提取此值將是一種有效的方法。
此外,我正在Java中實現這一點。
鑑於輸入字符串可以如下規定:正則表達式和字符串操作技術
凡...只是擁有一些XPath表達式,例如,/comment/text
我真正想要的是XPath表達式;考慮到可能指定的三種可能的有效模式,在一般情況下提取此值將是一種有效的方法。
此外,我正在Java中實現這一點。
下面是簡單的例子,它在您的兩個字符串舉例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);
}
}
謝謝,我喜歡解決方案... – Larry
它會幫你發佈一些代碼,但你可以使用字符串分割。請參考http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#split%28java.lang.String%29
如果你一定有XPath的(「」),那麼你可以使用XPath(「作爲您的正則表達式和剝離串並收集裏面的數據,直到它擊中另一個」(單引號)。
。我希望這給你一個想法
你不需要爲正則表達式startsWith()和substring()就足夠了。 –