![](/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.