2015-06-12 2 views
-1

я должен написать регулярное выражение для соответствия данных XML, как показано нижеRegex чтобы соответствовать следующей строке ввода XML

<?xml version="1.0" encoding="UTF-8"?><xml conditionname="condition" table="tablename"> 
    <item endquery="false" field="fieldname" goto="false" newquery="false" operator="=" or="false" value="Data"/> 

Я написал регулярное выражение, (conditionname="condition".*)\n*.*, чтобы соответствовать следующей строке, когда я даю \n, его не принимая, его соответствие до tablename">, я должен соответствовать до конца входных данных.

Пожалуйста, помогите мне, чтобы соответствовать следующей строке данных.

+0

+1

Почему люди настаивают на использовании Regex в тех местах, где очень легко использовать другие методы? В этом случае методы XML гораздо проще использовать, чем регулярное выражение. – jdweng

ответ

0

По умолчанию . не соответствует окончанию строки (\n).

Вы можете использовать флаг для включения режима DOTALL - флаг здесь является (?s) в начале регулярного выражения:

(?s)(conditionname="condition").* 

или явно соответствует концу строки:

(conditionname="condition")(\n|.)* 

Оба будут совпадать до конца вашей строки.

+0

первое регулярное выражение - это то, что я хотел. Меня устраивает . благодаря –

Смежные вопросы