0
我得到一個xml節點;什麼是正則表達式來檢查空的XML節點?
<p:FirstAddressLine1></p:FirstAddressLine1>
我想重寫那個節點,如果它有一個空字符串/ null。我使用了^$
,但未能驗證特定的xml節點是否包含空字符串。
任何人都知道,這裏做錯了什麼?並使用正確的正則表達式?
我得到一個xml節點;什麼是正則表達式來檢查空的XML節點?
<p:FirstAddressLine1></p:FirstAddressLine1>
我想重寫那個節點,如果它有一個空字符串/ null。我使用了^$
,但未能驗證特定的xml節點是否包含空字符串。
任何人都知道,這裏做錯了什麼?並使用正確的正則表達式?
我會使用類似如下的regex
(?:<p:FirstAddressLine1>(?!<\/p))
是使用Negative Lookahead
,並會匹配其次是其他然後</p
任何<p:FirstAddressLine1>
。如果它在第一個<>之後直接看到</p
>它將不匹配該字符串。
用法示例
use strict;
use warnings;
my @lines = <DATA>;
foreach (@lines) {
if ($_ =~ m/(?:<p:FirstAddressLine1>(?!<\/p))/) {
print "The string is NOT empty\n";
}
else {
print "The string is empty\n";
}
}
__DATA__
<p:FirstAddressLine1></p:FirstAddressLine1>
<p:FirstAddressLine1>TEST</p:FirstAddressLine1>
結果
The string is empty
The string is NOT empty
我不直接使用java。我配置一個基於java的Appserver – Ratha
什麼語言,你以書面形式?向我們展示您用來匹配的代碼片段。 – merlin2011
爲什麼你沒有測試它是否有一個字符(至少):'.' –
可能的重複http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self- contains-tags – Pillsy