Regular Expression


Overview:

Regular Expression is Regular Expression.


:

Meta:
  - '.'     # Any
  - '^'     # Begin, []内先頭はNot
  - '$'     # End
  - '*'     # 0<=           '.*' Any x 0<=
  - '+'     # 1<=           '.+' Any x 1<=
  - '?'     # 0|1
  - '|'     # OR
  - '[]'    # Any in []     '['、'\'、先頭'^'のみエスケープ
  - '()'    # Group, Capture  前方:\1,\2,\3... 後方:$1,$2,$3...
  - '{n}'   # Repeat n times
  - '{n,}'  # Repeat n<=
  - '{n,m}' # Repeat n<=&<=m

ShortCut:
  - '\a'    # 任意の英数字 : ([a-zA-Z0-9])
  - '\b'    # 空白 :        ([ \\t]) ??   # 単語の境界 ??
  - '\c'    # 任意の英字 :   ([a-zA-Z])
  - '\d'    # 任意の 10 進数字 : ([0-9])
  - '\h'    # 任意の 16 進数字 : ([0-9a-fA-F])
  - '\n'    # 改行文字 :    (\r|(\r?\n))       # \r,\r\n,\n
  - '\q'    # 引用符で囲まれた文字列 : (\"[^\"]*\")|(\'[^\']*\')
  - '\w'    # 英単語 :        ([a-zA-Z]+)
  - '\z'    # 整数 :        ([0-9]+)
  - '\D'    #
  - '\S'    #
  - '\W'    #

:

  '^$'        # ''
  '^aaa$'     # 'aaa'

  [aA]aa      # aaa | Aaa
  aa[ABC]     # aaA | aaB | aaC
  aa[B-D]     # aaB | aaC | aaD
  aa[b-dB-D]  # aab | aac | aad | aaB | aaC | aaD
  aa[ABC]*    # aa | aaA | aaBB | ...
  aa[^BC]     # aaA | aaD | aaE | ...
  ao+aa       # aoaa | aooaa | aoooaa | ...       '+' repeat 0 <
  ao?aa       # aaa | aoaa                        '?' 0 or 1
  ao{3}aa     # aoooaa                            '?' times
  ao{2.}aa    # aooaa |aoooaa | aooooaa | ...     '?' times <
  a.aa        # a aa | a1aa | azaa | ...          '.' any
  aa¥d        # aa0 | aa1 | aa2 | ...             d' number
  aa¥d+       # aa0 | aa11 | aa234 | ...          d' number, repeat 0 <
  aa¥D        # aaa | aaB | aaC | ...             D' not number


^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$:  URL
  ^(https?|ftp)
   (://
     [-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+
   )$



  (?P<name>pattern)   # Named Capturing Group   nameで値を参照