草庐IT

REGEX_EXTRACT_ALL

全部标签

regex - XML 中无效字符的正则表达式

这个问题在这里已经有了答案:UnicodeRegex;InvalidXMLcharacters(6个答案)关闭3年前。我正在尝试找到一种方法来找到XML中的所有无效字符。根据W3recommendation这些是XML中的有效字符:#x9|#xA|#xD|[#x20-#xD7FF]|[#xE000-#xFFFD]|[#x10000-#x10FFFF]将其转换为十进制:9101332-5529557344-6553365536-1114111是有效的xml字符。我正在尝试使用适当的正则表达式在notepad++中搜索无效字符。我的XML中的一个片段:fal sefalse

regex - XSLT 2.0 正则表达式替换

我有以下XML:a_35345_0_234_345_666_888我想用固定数字234替换“_”之后第一次出现的数字。因此结果应该如下所示:a_234_0_234_345_666_888我试过使用以下方法但它不起作用:更新以下对我有用(感谢@Chris85)。只需删除下划线并添加“?”即可使其不贪婪。 最佳答案 你的正则表达式是/曾经是贪婪的,.*会消耗所有内容,直到下一个字符的最后一次出现。所以(.*)_\d+_(.*)正在放a_35345_0_234_345_666_进入$1。然后888被删除,$2没有任何内容。要使其非贪婪,请

regex - 如何使用 sed 修复 xml 问题

我有一个具有以下(无效)结构的xmltext1text2text3text4我想用sed改成text1text2text3text4即我想删除...(并在封闭的tag1下移动两者之间的所有内容),如果我遇到无效的xml子字符串我试过使用sed但没有成功(下面是这样的尝试)sed-e's/\(.*\)它确实适用于上面的示例,但如果我有两次出现相同的情况,它只会删除第一个最后一个而不是执行两次替换echo'text1text2text3text4text5text6text7text8'|sed-e's/\(.*\)输出text1text2text3text4text5text6text7

regex - 如何查找和替换 <wp :postmeta> </wp:postmeta> tags using Notepad++ 之间的文本

我正在使用XML导出来删除旧的所需数据并将其替换为相关标签。我一直在四处寻找,但未能准确找到我正在寻找的东西,所以如果这看起来多余,请原谅我。我希望替换我的中的所有数据和标签。然而,由于它们跨越多行,因此.*?不像过去那样工作。我相信这意味着它只跨越一条线。这是代码示例://Startoffind//EndoffindusingNotepad++//Startoffind//EndoffindusingNotepad++我特别希望找到并替换第一个中的所有内容标记到最后关闭的结尾其内对应开闭item标签。有数百种,我不想一一列举。如果可能,请告诉我。如果不可能,我想知道如何从一个开始至收

regex - XSLT - 正则表达式替换字符

我有一个这样的示例xsl,text...texttext...text......text如您所见,xml中有一些模式,例如。..我需要的是用*替换点之间存在的空间。所以输出应该是这样的,text.*.*.texttext.*.*.text.*.*.*.*.*.text我为此编写了以下xslt,但它消除了所有其他空间并给我以下结果,text.*..texttext.*..text.*..*..*.text如何修改我的XSLT以获得正确的输出.. 最佳答案 我觉得完成任务。正如LukStorms指出的那样,这可以简化为

c# - XML : how to remove all nodes which have no attributes nor child elements

我有一个这样的xml文档:在这里是我要删除的节点,因为它没有子元素/元素,也没有任何属性。 最佳答案 使用XPath表达式可以找到所有没有属性或子节点的节点。然后可以从xml中删除这些。正如Sani指出的那样,您可能必须递归执行此操作,因为如果删除其内部节点,node_1_1将变为空。varxmlDocument=newXmlDocument();xmlDocument.LoadXml(@"");//selectallnodeswithoutattributesandwithoutchildrenvarnodes=xmlDocume

指定字符串长度范围的 RegEx : XSD attribute element

我试图将模式的属性元素限制在3到20个字符之间,但我收到一条错误消息,指出我的RegEx无效:知道我在这里做错了什么吗?具体错误是"Rangeendcodepointislessthanthestartendcodepoint" 最佳答案 a-Z是无效范围,您应该使用小写的z而不是a-z请注意,aascii值为97,Z为90,因此您实际上定义了从97到90的间隔=>终点代码较低比起点代码 关于指定字符串长度范围的RegEx:XSDattributeelement,我们在StackOver

java - JAXB - xsd :all 内具有无限 maxOccurs 的元素

假设我有以下java类映射到我的REST服务的请求主体以搜索用户。@XmlRootElement(name="SearchParams")@XmlType(propOrder={})publicclassSearchParams{privateStringfirstname;privateStringlastname;privateListrole;...}请注意@XmlType注释的propOrder参数-它声明表示各个属性在XML文件中出现的顺序无关紧要,因此xsd:all而不是xsd:sequence。但是,如您所见,其中一个属性(role属性)是一个列表,因此对应于具有unbo

Java Regex 检查字符串是否包含 XML 标记

我正在尝试使用String.match()函数确定一个字符串是否包含至少一个XML标记。由于项目的设置方式,我希望不必使用Pattern。目前我使用这个正则表达式:这显然只检查字符串是否有包含文本的左右箭头括号。我需要的是一种检查字符串是否只有一个带有Regex的XML标记的方法,例如输入如下:blahblahblahblah但不是像这样输入:blahblahblahblah这可能吗? 最佳答案 这个:if(input.matches("(?s).*(]*>.*|]*/>).*"))匹配两种类型的标签(标准和自闭合):blah不匹配

xml - XSD 中 <all> <sequence> <choice> 和 <group> 的区别?

and之间有什么区别?在XML架构中? 最佳答案 何时使用xsd:all、xsd:sequence、xsd:choice或xsd:group:当所有子元素都必须存在时使用xsd:all,独立于订单。当子元素必须按照它们的方式存在时,使用xsd:sequence出现限制和顺序很重要。当其中一个子元素必须存在时,使用xsd:choice。使用xsd:group作为包装上述任何内容的方式以命名并在XSD内的多个位置重用。请注意,出现约束可以出现在xsd:all、xsd:sequence或xsd:choice上以及子元素上实现各种基数效果。