【发布时间】:2016-08-18 20:35:08
【问题描述】:
我想匹配这个字符串:
<Array value="Default">
<Element value="5"/>
我尝试了负前瞻:
^((?!^\<Array value\=\"[a-zA-ZäöüßÄÖÜ]+\"\>).)
^((?!^\<Element value\=\"[0-9]+\"\/\>).)*$
例如,如果我删除标记“>”,则匹配为真。但在任何情况下都是错误的。
如果我试试这个比赛
^((?!^\<Array value\=\"[a-zA-ZäöüßÄÖÜ]+\"\>).)*$
到这个字符串(我已经删除了令牌'>')
<Array value="Default"
然后就出来了,这是真的。所以我认为失败是这个正则表达式的两行
^((?!^\<Array value\=\"[a-zA-ZäöüßÄÖÜ]+\"\>).)
^((?!^\<Element value\=\"[0-9]+\"\/\>).)*$
组合为假。
有人可以解决我的问题吗?
对不起,我的英语不好!
【问题讨论】:
-
您使用什么正则表达式风格(来自什么编程语言)?你到底想要什么结果?匹配整个字符串并使用组来访问值比使用前瞻并仅匹配值更容易。
-
我使用 Java。我想测试这些字符串是否具有正确的语法并且没有错误的字母或其他类似的东西。例如,“
-
如果有解决您的问题的答案,请不要忘记接受。您可以通过单击其中一个左侧的灰色勾号来执行此操作。
标签: regex pattern-matching match regex-negation nsregularexpression