Я бегу немного регулярное выражение в одном из моих XSL-преобразований (xsl:analyze-string
) и наткнулся на этот эффект, который заставил меня довольно неудобно, потому что я на самом деле не найти каких-либо объяснений ...Зачем мне использовать двойные фигурные скобки в моем RegEx?
Я искал Non-Breaking-Spaces и En-Spaces, поэтому я использовал конструкцию \p{Z}
. Согласно многим примерам в справочнике программистов XSLT 2.0 Майклом Кей, это должно сработать. RegexBuddy также утверждает :)
Теперь мой SaxonHE9.4N говорит мне
Ошибка в регулярном выражении: net.sf.saxon.trans.XPathException: Ожидается ({)
После нескольких испытаний и ошибки я просто удвоил скобки \p{{Z}}
... и это сработало !? Но на этот раз RegExBuddy не одобряет!
Может ли кто-нибудь дать мне объяснение этого эффекта? Я не смог найти ничего в Интернете ...
Заранее благодарен!
Редактировать: Я пробовал то же самое внутри функции replace()
, а версия с двумя кронштейнами не работала. Я должен был сделать это с помощью отдельных скобок!
Я не знаю 'saxon', но в какой-то регулярное выражение вкуса вы можете просто использовать' \ pZ' без скобок. Вы могли бы попробовать. – Toto