Во-первых, вы используете модификаторы под неправильным допуском.
Pattern.MULTILINE
или (?m)
сообщает Java принимать якоря ^
и $
для соответствия в начале и в конце (в противном случае они соответствуют только началу / концу всей строки).
Pattern.DOTALL
или (?s)
сообщает Java, чтобы точка также соответствовала символам новой строки.
Во-вторых, в вашем случае regex терпит неудачу, потому что вы используете метод matches()
, который ожидает, что регулярное выражение будет соответствовать цепочке whole - что, конечно, не работает, поскольку есть некоторые символы, оставшиеся после (\\W)*(\\S)*
, совпадают.
Итак, если вы просто ищете строку, которая начинается с User Comments:
, используйте регулярное выражение
^\s*User Comments:\s*(.*)
с Pattern.DOTALL
]:
Pattern regex = Pattern.compile("^\\s*User Comments:\\s+(.*)", Pattern.DOTALL);
Matcher regexMatcher = regex.matcher(subjectString);
if (regexMatcher.find()) {
ResultString = regexMatcher.group(1);
}
ResultString
затем будет содержать текст после User Comments:
Как правило, Entity Framework будет лучшим решением для этого. Ниже приведена ссылка на поддерживаемые базы данных, использующие Entity Framework Entity Framework Database Supported . Однако, если вы хотите подключиться к другим базам данных, вам нужно будет выполнить свои собственные операции CRUD (Создать, Получить, Обновить, Удалить). Вот пример CRUD с использованием MongoDB.