![](/img/trans.png)
[英]Regular Expression => Match Everything from Set, except one character
[英]Regular Expression: Match everything except one specific character
我尝试做一个特定的表达,但我无法解决我的实际问题。 也许你们中的一些人可以...
我有字符串:
<!ENTITY a0 "dosdosdosdosdosdosdosdosdosdosdosdosdosdos"
现在我想匹配引号之间的所有内容(至少 10 个字符),但引号除外。
我开始于:
"(.{10,}?)"
乍一看,这匹配得很好,但这也匹配以下对我来说是错误的字符串。
<!ENTITY a0 "dosd"
<!ENTITY a0 "osdos"
匹配以第一行的第一个引号开始,以最后一行的最后一个引号结束。
我明白为什么会发生这种情况,但我无法构建一个正则表达式,除了引号外,每个字符都匹配 10 次。 点太笼统了。
编辑:新问题
新字符串:
<data>&a0;&a0;asddd&a0;&a0;&a0; 234324&a0;&a0;&a0;&a0;&a0;&a0;</data>
现在我尝试匹配这两个 XML 标签之间的特定表达式,直到出现第一个“<”。 在这些标签之间,我需要至少 10 个“&a0”的外观,这导致
&[a-zA-Z0-9]+;
问题是,不同的其他字符串(除了 < )也可能出现在这些标签之间。 这有可能解决吗?
我试过:
<[a-zA-Z0-9]+>([^<]{10,}?)<\/[a-zA-Z0-9]+>
但是现在它可以匹配所有内容而不是想要的 &[a-zA-Z0-9]+;
谢谢你们!
您可以使用
"([^"\r\n]{10,})"
请参阅正则表达式演示。
[^"\\r\\n]{10,}
模式匹配 10 次或更多出现的任何字符,但"
、 CR 和 LF 除外。
请注意,您可以在此处使用贪婪的限制(范围/间隔)量词。
要限制通用模式,一个好主意是检查您的要求。 如果你真的打算匹配字母、数字和_
,你可以用\\w
速记字符类替换[^"\\r\\n]
否定字符类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.