Заменить то, что соответствует /(.?)
на '::'.strtoupper('\\1')
, где \1
заменено тем, что соответствует в группе регулярных выражений 1: (.?)
И заменить то, что соответствует (^|_|-)+(.)
на strtoupper('\\2')
, где \2
заменяется тем, что соответствует в группе регулярных выражений 2: (.)
регулярное выражение # 1: /(.?)
означает:
/ # match the character '/'
( # start capture group 1
.? # match any character except line breaks and match it once or none at all
) # end capture group 1
и регулярное выражение # 2: (^|_|-)+(.)
означает:
( # start capture group 1
^ # match the beginning of the input
| # OR
_ # match the character '_'
| # OR
- # match the character '-'
)+ # end capture group 1 and repeat it one or more times
( # start capture group 2
. # match any character except line breaks
) # end capture group 2
Обратите внимание, что ^
соответствует началу ввода, не литерал ^
!