Использование тройного комментария в первом примере на самом деле используется для внешних инструментов документации XML и (в Visual Studio) intellisense поддержка. Все еще действительный комментарий, но его специальное предложение:) Фактический комментарий 'оператор'//единственное ограничение, там то, что для одной строки.
второй пример использует блок стиля C, комментирующий, который допускает комментарий через несколько строк или посреди строки.
\((\b(?:en|jp|us|eu)-?\b)+\)
Объяснение:
\( // opening paren ( // match group one \b // word boundary (?:en|jp|us|eu) // your defined strings -? // a hyphen, optional \b // another word boundary )+ // repeat \) // closing paren
соответствует:
(us)
(jp)
(jp-us)
(jp-us-eu)
не соответствует:
(jp-us-eu-)
(-jp-us-eu)
(-jp-us-eu-)
Попробуйте следующее:
/\([a-z]{2}(?:-[a-z]{2})*\)/
Это будет соответствовать любой двухбуквенной последовательности в скобках содержится еще две последовательности букв, разделенных дефисами. Итак (ab)
, (ab-cd)
, (ab-cd-ef)
, (ab-cd-ef-gh)
и т. Д.