正規表現ツール |
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 Schema |
Xojo |
XQuery と XPath |
XRegExp |
データベース |
MySQL |
Oracle |
PostgreSQL |
このサイトのその他の内容 |
はじめに |
正規表現クイックスタート |
正規表現チュートリアル |
置換文字列チュートリアル |
アプリケーションと言語 |
正規表現の例 |
正規表現リファレンス |
置換文字列リファレンス |
書籍レビュー |
印刷可能なPDF |
このサイトについて |
RSSフィードとブログ |
W3C XML Schema 標準は、独自の正規表現フレーバーを定義しています。 これは、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.*を使用する必要があります。 2 つの.*は、改行が含まれていないと仮定して、一致を要素全体に拡張します。 改行を許可する場合は、[\s\S]*regex[\s\S]*のようなものを使用できます。短縮文字クラスとその否定バージョンを組み合わせると、あらゆるものと一致する文字クラスになります。
XML スキーマでは、一致モードを指定する方法はありません。ドットは改行と一致することはなく、パターンは常に大文字と小文字を区別して適用されます。literalを大文字と小文字を区別せずに適用する場合は、次のように書き直す必要があります。[lL][iI][tT][eE][rR][aA][lL].
XML 正規表現には、\xFFまたは\uFFFFのような、特定の(印刷できない)文字と一致するトークンはありません。 これらをリテラル文字として正規表現に追加する必要があります。 プレーンテキストエディタを使用してXMLファイルに正規表現を入力する場合は、 XML構文を使用できます。 そうでない場合は、文字マップから文字を貼り付ける必要があります。
最短一致量指定子は使用できません。 パターンは対象文字列の先頭と末尾にアンカーされており、成功/失敗の結果のみが返されるため、最長一致と最短一致の量指定子の唯一の潜在的な違いはパフォーマンスです。 最長一致量指定子を最短一致量指定子に変更したり、その逆を行ったりしても、完全にアンカーされたパターンの
XML Schema 正規表現は以下をサポートしています
XQuery and XPathで使用可能な正規表現関数は、異なる正規表現フレーバーを使用していることに注意してください。 このフレーバーは、ここで説明する XML Schema フレーバーのスーパーセットです。 XML Schema フレーバーにはない、多くの最新の正規表現フレーバーで使用可能な機能がいくつか追加されています。
制限があるにもかかわらず、XML スキーマ正規表現には 2 つの便利な機能が導入されています。 特殊な短縮文字クラス\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 Schema | Xojo | XQuery と XPath | XRegExp |
| MySQL | Oracle | PostgreSQL |
ページURL: https://regular-expressions.dokyumento.jp/xml.html
ページ最終更新日: 2021年8月24日
サイト最終更新日: 2024年3月15日
Copyright © 2003-2024 Jan Goyvaerts. All rights reserved.