set phoneNumber 1234567890
это число одна цифра, я хочу разделить это число на 123 456 7890 с помощью регулярных выражений.без функции разделения это возможно?
Следующий фрагмент:
regexp {(\d{3})(\d{3})(\d{4})} "8144658695" -> areacode first second puts "($areacode) $first-$second"
Печать ( как видно на ideone.com ):
(814) 465-8695
При этом используется групп захвата в шаблоне и subMatchVar... для Tcl regexp
subMatchVar...
regexp
Шаблон регулярного выражения:
(\d{3})(\d{3})(\d{4}) \_____/\_____/\_____/ 1 2 3
Имеет 3 группы захвата (…). \d является сокращением для класса цифровых символов. {3} в этом контексте - «ровно 3 повторения».
(…)
\d
{3}
my($number) = "8144658695"; $number =~ m/(\d\d\d)(\d\d\d)(\d\d\d\d)/; my $num1 = $1; my $num2 = $2; my $num3 = $3; print $num1 . "\n"; print $num2 . "\n"; print $num3 . "\n";
Это написано для Perl и работает при условии, что число соответствует указанному вами формату, надеюсь, это поможет.
Этот сайт может помочь вам с регулярным выражением http://www.troubleshooters.com/codecorn/littperl/perlreg.htm