my $ex1 = "John Due 12 Admitted."; my $reg1 = $ex1; $reg1 =~ s/[A-Z]+/\(\[A-Z\]\+\)/og; $reg1 =~ s/[a-z]+/\(\[a-z\]\+\)/og; $reg1 =~ s/\t/\(\\t\)/og; $reg1 =~ s/ +/\( \+\)/og; $reg1 =~ s/\d+/\(\\d\+\)/og; $reg1 =~ s/\.+/\(\.\+\)/og; print $reg1, "\n";
例示:John Due[tab]12[tab]Admitted.
正規表現: ([A-Z]+)([a-z]+)( +)([A-Z]+)([a-z]+)(\t)(\d+)(\t)([A-Z]+)([a-z]+)(.+)
#!/usr/bin/perl -w
# $Id: genreg2.pl,v 1.1 2004/12/16 08:12:38 zuihu Exp $
use strict;
use utf8;
use Encode qw(encode);
my $text = '漢字カナ混じり文をinputする';
$text =~ s/\p{InBasicLatin}+/\(\\p\{InBasicLatin\}\+\)/og;
$text =~ s/\p{InHalfwidthAndFullwidthForms}+/\(\\p\{InHalfwidthAndFullwidthForms\}\+\)/og;
$text =~ s/\p{Hiragana}+/\(\\p\{Hiragana}\+\)/og;
$text =~ s/\p{Katakana}+/\(\\p\{Katakana}\+\)/og;
$text =~ s/\p{Han}+/\(\\p\{Han}\+\)/og;
print encode('Shift_JIS', $text), "\n";
例示:漢字カナ混じり文をinputする
正規表現: (\p{Han}+)(\p{Katakana}+)(\p{Han}+)(\p{Hiragana}+)(\p{Han}+)(\p{Hiragana}+)(\p{InBasicLatin}+)(\p{Hiragana}+)
2004-12 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31