Как извлечь одну цифру в число с помощью регулярных выражений - PullRequest
2 голосов
/ 02 августа 2010
set phoneNumber 1234567890

это число одна цифра, я хочу разделить это число на 123 456 7890 с помощью регулярных выражений.без функции разделения это возможно?

Ответы [ 2 ]

7 голосов
/ 02 августа 2010

Следующий фрагмент:

regexp {(\d{3})(\d{3})(\d{4})} "8144658695" -> areacode first second

puts "($areacode) $first-$second"

Печать ( как видно на ideone.com ):

(814) 465-8695

При этом используется групп захвата в шаблоне и subMatchVar... для Tcl regexp

Ссылки


По шаблону

Шаблон регулярного выражения:

(\d{3})(\d{3})(\d{4})
\_____/\_____/\_____/
   1      2      3

Имеет 3 группы захвата (…). \d является сокращением для класса цифровых символов. {3} в этом контексте - «ровно 3 повторения».

Ссылки

0 голосов
/ 02 августа 2010
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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...