본문 바로가기

Programming/C#.NET

XML Schema Regular Expressions

http://www.w3.org/TR/xmlschema-2/#regexs

A ·regular expression· R is a sequence of characters that denote a set of strings  L(R). When used to constrain a ·lexical space·, a regular expression  R asserts that only strings in L(R) are valid literals for values of that type.

Note: Unlike some popular regular expression languages (including those defined by Perl and standard Unix utilities), the regular expression language defined here implicitly anchors all regular expressions at the head and tail, as the most common use of regular expressions in ·pattern· is to match entire literals. For example, a datatype ·derived· from string such that all values must begin with the character A (#x41) and end with the character Z (#x5a) would be defined as follows:
<simpleType name='myString'>
 <restriction base='string'>
  <pattern value='A.*Z'/>
 </restriction>
</simpleType>
In regular expression languages that are not implicitly anchored at the head and tail, it is customary to write the equivalent regular expression as:

   ^A.*Z$

where "^" anchors the pattern at the head and "$" anchors at the tail.

In those rare cases where an unanchored match is desired, including .* at the beginning and ending of the regular expression will achieve the desired results. For example, a datatype ·derived· from string such that all values must contain at least 3 consecutive A (#x41) characters somewhere within the value could be defined as follows:

<simpleType name='myString'>
 <restriction base='string'>
  <pattern value='.*AAA.*'/>
 </restriction>
</simpleType>











자세한 내용은 위 참조 사이트를 확인해서 자세히 보시길
반응형