草庐IT

boost-regex

全部标签

regex - XML Schema 正则表达式空字符串

我有一个带有正则表达式限制的XML模式,它匹配三个不同的选项并且看起来类似于:somestring|someotherstring|一些字符串,或者一些其他字符串,或者空字符串我的问题是xmllint不喜欢这个正则表达式。它给出了以下错误:regexperror:failedtocompile:expectingabranchafter|由于环境原因,我被迫遵守xmllint。我的问题是,在XSD中使用正则表达式匹配空字符串还有哪些其他选项?据我所知,XSD正则表达式中不提供否定前瞻,我对其他选项感到茫然。 最佳答案 您可以使用可选

c# - 我如何在C#和文本编辑器中获得相同的Regex结果?

这个问题已经有了答案:RegExmatchopentagsexceptXHTMLself-containedtags34答案我有一个包含以下数据的XML:CoverTitelblattUrheberrechteDieSündeMachtDenMenschenMenschlich,DieLiebeMachtIhnGöttlichVorwortIraZornErfahrungJähzornLuxuriaWollustErfahrungWollustAvaritiaGeizErfahrungGeizAcédiaTräghe

regex - 匹配 XML 数据中的特定 CDATA 部分

我正在尝试做一个PowerShell正则表达式,我有以下页面(在下面)我想从中进行匹配,粗体的两个部分是我想要捕获并分配给变量的信息。所以我需要两个正则表达式。从下面的文本中,我需要准确找到的两个区域是King和Years&Years。请注意,这两个区域发生了变化(因此我需要捕获它们),其余代码保持不变。这是我目前使用的正则表达式,但它对我不起作用。\s+artist\s*>\s*\s*这是我尝试使用正则表达式的页面(或数据)。 最佳答案 如果它是有效的XML,则不需要使用正则表达式。PowerShell适配XML对象,您可以使用标

c++ - boost::property_tree xml pretty-print 、格式化

我正在关注FiveMinuteTutorial然后我得到文件debug_settings_out.xml作为输出(不出所料)。但我的问题是,它的格式不正确。它看起来像这样:debug.log2我希望它看起来像这样:debug.log2因为它应该也可以手动编辑。我怎样才能做到这一点?我已经找到了settings我可以传递给解析器,但它们都没有给我所需的行为。 最佳答案 PropertyTree的文档非常糟糕(我最近开始改进它)。您需要做的是将正确的xml_writer_settings对象传递给write_xml。https://gi

regex - 如何从 XSLT 2.0 中的字符串中选择特定部分

我正在使用XSLT转换SOAP响应。我阅读了响应xml并尝试在我的XSLT中对其进行转换。我有包含errorCode和errorMessage的字符串,我需要根据正则表达式匹配组合并从中选择特定部分(即errorCode)。输入字符串:ERROR(7000):;Mandatoryfieldmissing:DESCRIPTIONmandatory现在,我想检查传入的字符串是否与我的输入字符串模式匹配,并只选择括号内的部分(即errorCode=7000)SOAP响应XML:ERROR(7000):;Mandatoryfieldmissing:DISCRIPTIONmandatoryXSL

regex - "four alphanumerics, but not all digits"的 XSD 正则表达式?

我正在尝试为必须包含四个字母数字(仅限大写)但不能包含全数字组合的元素编写XML模式数据类型。换句话说,A-Z或0-9中的四个序列,至少包含A-Z中的一个。这是我遇到困难的后半部分,“至少一个”或“但不是”。我想过和/或尝试过:字符类减法(但我认为这里没有办法定义“类”?)结合2个xs:restrictions在两种数据类型中组合2个xs:patterns我想这些都是死胡同,我要么在正则表达式世界中遗漏了一些东西,要么XML正则表达式可能不是执行此操作的最佳方法? 最佳答案 XMLSchema正则表达式不支持lookarounds,

html - dom 解析器可以读取 HTML 注释中的内容,还是 Regex 是唯一的方法

我正在为我的组织创建非常简单的CMS。我的策略是在名为的标签之间嵌入可编辑的内容。但是为了在浏览器中隐藏这些,我将它们注释掉了。因此,可编辑区域的示例如下所示。Today'snewsis...-->内容“今天的新闻是...”被CMS拾取并在在线HTML编辑器中进行编辑。我希望能够“获取”name属性的值以及标签中包含的内容。有没有一种简单的方法可以用XPath、XQuey类型的东西来做到这一点,或者正则表达式是最好的方法(]esp。考虑到正则表达式不需要太多的容错,因为我确切地知道xml会做什么是,因为我将编写生成它的代码)。 最佳答案

Java:String.replace(regex, string) 从 XML 中删除内容

假设我有一个字符串形式的XML。我希望删除XML字符串中两个标签之间的内容,比如.我试过:StringnewString=oldString.replaceFirst("\\.*?\\","ContentRemoved");但它不起作用。关于我做错了什么的任何指示? 最佳答案 好吧,除了明显的答案(don'tparseXMLwithregex),也许我们可以解决这个问题:StringnewString=oldString.replaceFirst("(?s)]*>.*?","ContentRemoved");解释:(?s)#turn

xml - 在 bash 中使用 Regex 删除 XML 注释

我想使用正则表达式(awk、sed、grep...)删除bash中的XML注释我已经看过关于这个的其他问题,但他们遗漏了一些东西。这是我的xml代码所以我正在比较2个xml文件,但我不希望比较考虑到注释。我这样做difffile1.xmlfile2.xml|sed'//d'但这只会删除以开头的行和最后一行。它不会删除中间的所有行。 最佳答案 最后,您将不得不向您的客户/friend/导师推荐他们需要安装某种XML处理器。xmlstarlet是一个很好的命令行工具,但是有任意数量(或至少大于2)的XSLT实现可以为任何标准Unix编译

c++ - boost ptree-如何使用迭代器修改 XML?

我正在处理一个如下所示的XML文件:NAME1ID1NAME2ID2NAME3ID3...etc我需要用“OTHERNAME”替换所有名称。当我使用下面的代码时,其中一个名称被OTHERNAME替换。#include#includeusingboost::property_tree::ptree;ptreept;read_xml(filename,pt);ptree&pt_persons=pt.get_child("persons");ptree&pt_person=pt_person.get_child("person");pt_person.put("NAME","OTHERNAM