home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2003 October / INTERNET108.ISO / pc / software / windows / building / xmlspy / xmlspyentcomplete5.exe / Data1.cab / F1271_gra_re.txt < prev    next >
Encoding:
Text File  |  2002-01-15  |  3.6 KB  |  46 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 | WildcardEsc | charClassExpr                    >Character class (escape | expression)
  12. charClassExpr$    ::= '[' charGroup ']'                                            >Character class expression ( [charGroup] )
  13. charGroup$        ::= charClassSub | negCharGroup | posCharGroup                     >Character group
  14. posCharGroup$    ::= ( charRangeBegin | charClassEsc ) ( charRange | charClassEsc )* charRangeEnd?    >Positive character group (character range | character class escape)+
  15. negCharGroup$    ::= '^' posCharGroup                                            >Negative character group
  16. charClassSub$    ::= ( posCharGroupND | negCharGroupND ) '-' charClassExpr        >Character class subtraction
  17. posCharGroupND$    ::= ( charRangeBegin | charClassEsc ) ( charRange | charClassEsc )* charRangeEndND?    >Positive character group (character range | character class escape)+
  18. negCharGroupND$    ::= '^' posCharGroupND                                            >Negative character group
  19. charRange$        ::= seRange | XmlChar                                            >Character range (XML character|s-e range)
  20. charRangeBegin$    ::= seRangeBegin | XmlCharIncDash                                >Character range (XML character|s-e range)
  21. charRangeEnd$    ::= seRangeEnd | XmlCharIncDash                                    >Character range (XML character|s-e range)
  22. charRangeEndND$    ::= seRangeEnd | XmlChar                                        >Character range (XML character|s-e range)
  23. seRange$        ::= charOrEsc '-' charOrEsc                                        >s-e character range
  24. seRangeBegin$    ::= charOrEscIncDash '-' charOrEsc                                >s-e character range
  25. seRangeEnd$        ::= charOrEsc '-' charOrEscIncDash                                >s-e character range
  26. charOrEsc$        ::=    XmlChar | SingleCharEsc                                        >XML character or single-character escape
  27. charOrEscIncDash$ ::= XmlCharIncDash | SingleCharEsc                            >XML character or single-character escape
  28. XmlChar$        ::= [^\#x2D#x5B#x5D]                                            >XML character (all except \-[])
  29. XmlCharIncDash$    ::= [^\#x5B#x5D]                                                >XML character (all except \-[])
  30. charClassEsc    ::= ( SingleCharEsc | MultiCharEsc | catEsc | complEsc )        >Character class escape
  31. SingleCharEsc    ::= '\' [nrt\|.?*+(){}#x2D#x5B#x5D#x5E]                            >Single character escape
  32. catEsc$            ::= '\p{' charProp '}'                                            >Category escape
  33. complEsc$        ::= '\P{' charProp '}'                                            >Category escape compliment
  34. charProp$        ::= IsCategory | IsBlock                                        >Unicode character property
  35. IsCategory$        ::= Letters | Marks | Numbers | Punctuation | Separators | Symbols | Other    >Unicode category name
  36. Letters            ::= 'L' [ultmo]?                                                >Unicode letters category
  37. Marks            ::= 'M' [nce]?                                                    >Unicode marks category
  38. Numbers            ::= 'N' [dlo]?                                                    >Unicode numbers category
  39. Punctuation        ::= 'P' [cdseifo]?                                                >Unicode punctuation category
  40. Separators        ::= 'Z' [slp]?                                                    >Unicode separators category
  41. Symbols            ::= 'S' [mcko]?                                                    >Unicode symbols category
  42. Other            ::= 'C' [cfson]?                                                >Unicode other category
  43. IsBlock            ::= 'Is' [a-zA-Z#x2D]+                                            >Unicode block name
  44. MultiCharEsc    ::= '\' [sSiIcCdDwW]                                            >Multi-character escape
  45. WildcardEsc$    ::= '.'                                                            >Wildcard escape (.)
  46.