home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 January / PCWorld_2001-01_cd.bin / Software / Topware / xmlspy / xmlspy35.exe / Main / gra_re.txt < prev    next >
Encoding:
Text File  |  2000-11-20  |  3.0 KB  |  39 lines

  1. regExp            ::= branch ('|' branch)*                                        >Regular Expression (branch|branch|...)
  2. branch$            ::= piece+                                                        >Branch (piece+)
  3. piece$            ::= atom quantifier?                                            >Piece (atom quantifier?)
  4. quantifier$        ::= [?*+] | ( '{' quantity '}' )                                >Piece quantifier (? | * | + | {quantity})
  5. quantity$        ::= quantRange | quantMin | QuantExact                            >Numeric quantity
  6. quantRange$        ::= QuantExact ',' QuantExact                                    >Quantity range {n,m}
  7. quantMin$        ::= QuantExact ','                                                >Minimum quantity {n,}
  8. QuantExact$        ::= [0-9]+                                                        >Exact quantity {n}
  9. atom$            ::= Char | charClass | ( '(' regExp ')' )                        >Atom (char | charclass | (regexp))
  10. Char$            ::= [^.\?*+()|#x5B#x5D]                                            >Normal character (any non-metacharacter)
  11. charClass        ::= charClassEsc | charClassExpr                                >Character class (escape | expression)
  12. charClassExpr$    ::= '[' charGroup ']'                                            >Character class expression ( [charGroup] )
  13. charGroup        ::= charClassSub | negCharGroup | posCharGroup                     >Character group
  14. charClassSub$    ::= ( posCharGroupND | negCharGroupND ) '-' charClassExpr        >Character class subtraction
  15. negCharGroup$    ::= '^' posCharGroup                                            >Negative character group
  16. negCharGroupND$    ::= '^' posCharGroupND                                            >Negative character group
  17. posCharGroup$    ::= ( charRange | charClassEsc )+                                >Positive character group (character range | character class escape)+
  18. posCharGroupND$    ::= ( XmlCharRef | XmlChar | charClassEsc )+                    >Positive character group (character range | character class escape)+
  19. charRange$        ::= seRange | XmlCharRef | XmlCharIncDash                        >Character range (XML character|s-e range)
  20. seRange$        ::= charOrEsc '-' charOrEsc                                        >s-e character range
  21. charOrEsc$        ::=    XmlChar | SingleCharEsc                                        >XML character or single-character escape
  22. XmlChar$        ::= [^\#x2D#x5B#x5D]                                            >XML character (all except \-[])
  23. XmlCharIncDash$    ::= [^\#x5B#x5D]                                                >XML character (all except \[])
  24. XmlCharRef        ::= ('&#' [0-9]+ ';') | ('&#x' [0-9a-fA-F]+ ';')                >Character-Reference (Ù or ê)
  25. charClassEsc    ::= ( SingleCharEsc | MultiCharEsc | catEsc | complEsc )        >Character class escape
  26. SingleCharEsc    ::= '\' [nrt\.?*+()|{}#x2D#x5B#x5D#x5E]                            >Single character escape
  27. MultiCharEsc    ::= '.' | ('\' [sSiIcCdDwW])                                    >Multi-character escape
  28. catEsc$            ::= '\p{' charProp '}'                                            >Category escape
  29. complEsc$        ::= '\P{' charProp '}'                                            >Category escape compliment
  30. charProp$        ::= Letters | Marks | Numbers | Punctuation | Separators | Symbols | Other | IsBlock    >Unicode character property
  31. IsBlock            ::= 'Is' [a-zA-Z]+                                                >Unicode block name
  32. Letters            ::= 'L' [ultmo]?                                                >Unicode letters category
  33. Marks            ::= 'M' [nce]?                                                    >Unicode marks category
  34. Numbers            ::= 'N' [dlo]?                                                    >Unicode numbers category
  35. Punctuation        ::= 'P' [cdseifo]?                                                >Unicode punctuation category
  36. Separators        ::= 'Z' [slp]?                                                    >Unicode separators category
  37. Symbols            ::= 'S' [mcko]?                                                    >Unicode symbols category
  38. Other            ::= 'C' [cfson]?                                                >Unicode other category
  39.