1x|y - /* Matches either "x" or "y". For example, /green|red/ matches "green" in
2"green apple" and "red" in "red apple". */
3(?<Name>x) - /* Named capturing group: Matches "x" and stores it on the groups
4property of the returned matches under the name specified by <Name>. The angle
5brackets (< and >) are required for group name. */
6(?:x) - /* Non-capturing group: Matches "x" but does not remember the match.
7The matched substring cannot be recalled from the resulting array's elements
8([1], ..., [n]) or from the predefined RegExp object's properties ($1, ..., $9).
9*/