| 正規表示式工具 |
| grep |
| PowerGREP |
| RegexBuddy |
| RegexMagic |
| 一般應用程式 |
| EditPad Lite |
| EditPad Pro |
| 語言和函式庫 |
| Boost |
| Delphi |
| GNU (Linux) |
| Groovy |
| Java |
| JavaScript |
| .NET |
| PCRE (C/C++) |
| PCRE2 (C/C++) |
| Perl |
| PHP |
| POSIX |
| PowerShell |
| Python |
| R |
| Ruby |
| std::regex |
| Tcl |
| VBScript |
| Visual Basic 6 |
| wxWidgets |
| XML 架構 |
| Xojo |
| XQuery 和 XPath |
| XRegExp |
| 資料庫 |
| MySQL |
| Oracle |
| PostgreSQL |
| 本網站的更多內容 |
| 簡介 |
| 正規表示式快速入門 |
| 正規表示式教學 |
| 替換字串教學 |
| 應用程式和語言 |
| 正規表示式範例 |
| 正規表示式參考 |
| 替換字串參考 |
| 書籍評論 |
| 可列印 PDF |
| 關於本網站 |
| RSS Feed 和部落格 |
W3C XML 架構標準定義了其自己的正規表示式風格。您可以在 XML 架構中簡單類型定義的 pattern 面向中使用它。例如,下列使用正規表示式定義簡單類型「SSN」,要求元素包含有效的美國社會安全號碼。
<xsd:simpleType name="SSN">
<xsd:restriction base="xsd:token">
<xsd:pattern value="[0-9]{3}-[0-9]{2}-[0-9]{4}"/>
</xsd:restriction>
</xsd:simpleType>
與其他正規表示式風格相比,XML 架構風格的功能相當有限。由於它僅用於驗證整個元素是否符合模式,而不是從大量資料區塊中擷取比對結果,因此您不會真正錯過其他風格中常見的功能。這些限制允許架構驗證程式使用有效率的 文字導向引擎 來實作。
特別值得注意的是完全沒有錨定,例如 插入符號和美元符號、字詞邊界 和 環顧。XML 架構總是隱含地錨定整個正規表示式。正規表示式必須與整個元素相符,該元素才會被視為有效。如果您有模式 regexp,XML 架構驗證程式會以 Perl、Java 或 .NET 使用模式 ^regexp$ 的方式來套用它。如果您想要接受在內容中間某處有 regex 的所有元素,您需要使用正規表示式 .*regex.*。兩個 .* 擴充比對範圍以涵蓋整個元素,假設它不包含換行符號。如果您想要允許換行符號,您可以使用類似 [\s\S]*regex[\s\S]* 的內容。將 簡寫字元類別 與其否定版本結合,會產生一個與任何內容相符的字元類別。
XML 架構未提供指定比對模式的方法。點 永遠不會比對換行符號,而且模式永遠以大小寫敏感的方式套用。如果您想要以大小寫不敏感的方式套用 文字,您需要將其改寫為 [lL][iI][tT][eE][rR][aA][lL]。
XML 正規表示式沒有類似 \xFF 或 \uFFFF 的代碼來比對特定(無法列印)字元。您必須將它們新增為文字字元到您的正規表示式中。如果您使用純文字編輯器將正規表示式輸入 XML 檔案,則可以使用  XML 語法。否則,您需要從字元對應表貼上字元。
惰性量詞 不可使用。由於模式固定在主旨字串的開頭和結尾,而且只會傳回成功/失敗結果,因此貪婪量詞和惰性量詞之間唯一潛在的差異將會是效能。您永遠無法透過將貪婪量詞變更為惰性量詞或反之,讓完全固定的模式比對或失敗。
XML 架構正規表示式支援下列項目
請注意,XQuery 和 XPath 中可用的正規表示式函數使用不同的正規表示式風格。此風格是此處所述 XML 架構風格的超集。它新增許多現代正規表示式風格中可用的功能,但 XML 架構風格中沒有。
儘管有其限制,XML 架構正規表示式引入了兩個便利的功能。特殊速記字元類別 \i 和 \c 使得比對 XML 名稱變得容易。沒有其他正規表示式風格支援這些功能。
字元類別減法可以輕鬆比對位於特定清單中,但不在另一個清單中的字元。例如:[a-z-[aeiou]] 比對英文輔音。此功能現在也在 JGsoft 和 .NET 正規表示式引擎中提供。在使用 Unicode 屬性 時,這項功能特別方便。例如:[\p{L}-[\p{IsBasicLatin}]] 比對任何非英文字母的字母。
| 快速開始 | 教學 | 工具與語言 | 範例 | 參考 | 書籍評論 |
| grep | PowerGREP | RegexBuddy | RegexMagic |
| EditPad Lite | EditPad Pro |
| Boost | Delphi | GNU (Linux) | Groovy | Java | JavaScript | .NET | PCRE (C/C++) | PCRE2 (C/C++) | Perl | PHP | POSIX | PowerShell | Python | R | Ruby | std::regex | Tcl | VBScript | Visual Basic 6 | wxWidgets | XML 架構 | Xojo | XQuery 與 XPath | XRegExp |
| MySQL | Oracle | PostgreSQL |
頁面網址:https://regular-expressions.tutorial.tw/xml.html
頁面最後更新:2021 年 8 月 24 日
網站最後更新:2024 年 3 月 15 日
版權所有 © 2003-2024 Jan Goyvaerts。保留所有權利。