Что делает '|' означает в этом регулярном выражении? Это регулярное выражение происходит от JQuery, а "|" означает "или", но какие две части включены для выбора? /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/ it [^>]*$ | #([\w\-]*)$ или (<[\w\W]+>)[^>]*$ | #([\w\-]*)$) или что-нибудь еще? Ответ 1 Это [^#<]*(<[\w\W]+>)[^>]*$ и #([\w\-]*)$ Демоверсия Debuggex Ответ 2 Он [^#<]*(<[\w\W]+>)[^>]*$ или #([\w\-]*)$, и оба в группе, не участвующей в записи. /^(?:EXP)$)/ # EXP => A|B /^(?:A|B)$)/ # A => [^#<]*(<[\w\W]+>)[^>]*$, B => #([\w\-]*)$ /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/ Ответ 3 Просто: x|y Соответствует либо x, либо y. Например: /green|red/ соответствует green в green apple и red в red apple. См. регулярное выражение на mdn Ответ 4 Написание его многострочного с отступом помогает: ^ (?: [^#<]* ( < [\w\W]+ > ) [^>]* $ | # ( [\w\-]* ) $ ) Ваша вторая предпосылка правильная. | имеет более низкий приоритет, чем конкатенация (т.е. Написание выражений друг за другом).
Ответ 2 Он [^#<]*(<[\w\W]+>)[^>]*$ или #([\w\-]*)$, и оба в группе, не участвующей в записи. /^(?:EXP)$)/ # EXP => A|B /^(?:A|B)$)/ # A => [^#<]*(<[\w\W]+>)[^>]*$, B => #([\w\-]*)$ /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/
Ответ 3 Просто: x|y Соответствует либо x, либо y. Например: /green|red/ соответствует green в green apple и red в red apple. См. регулярное выражение на mdn
Ответ 4 Написание его многострочного с отступом помогает: ^ (?: [^#<]* ( < [\w\W]+ > ) [^>]* $ | # ( [\w\-]* ) $ ) Ваша вторая предпосылка правильная. | имеет более низкий приоритет, чем конкатенация (т.е. Написание выражений друг за другом).