我有一個包含像得到子
<bean id="ParentDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${JDBC.MYSQL.DRIVER}" />
<property name="password" value="${JDBC.MYSQL.PASSWORD}" />
<property name="user" value="${JDBC.MYSQL.USERNAME}" />
</bean>
代碼XML文件我想獲得價值= {和}使用Java代碼之間的所有令牌。對於以上輸出的文字需求如下:
JDBC.MYSQL.DRIVER
JDBC.MYSQL.PASSWORD
JDBC.MYSQL.USERNAME
我試着用下面的代碼,但是不能在正則表達式中加$符號。
BufferedReader reader = new BufferedReader(new FileReader(file));
Pattern pattern = Pattern.compile("value=\"$(.*?)}");
String line;
while((line=reader.readLine())!=null) {
Matcher matcher = pattern.matcher(line);
System.out.println(matcher.group(1));
}
請提出一些解決方案。
你真的必須在這裏使用正則表達式嗎?使用XML解析器會不會更好? – Pshemo
爲什麼你想要輸出它們?如果你使你的應用上下文知道它們,並且應該寫下它們或爲它們提供默認值。 – Salandur
@Pshemo它不是必須在這裏使用正則表達式。但xml文件是一個示例其他文件也有不同的擴展名。 – kuldeep