我想在Perl中创建一个正则表达式,它将测试特定脚本中字符的字符串.这将是这样的:
$text =~ .*P{'Chinese'}.*
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以做到这一点,对于英语而言,通过测试[a-zA-Z]非常简单,但是对于像中文这样的脚本或者日文脚本之一,我无法想办法没有明确地写出每个字符,这将导致一些非常丑陋的代码.想法?我不能成为第一个/唯一一个想要这样做的人.
我有一个文件,file1.txt包含英文,中文,日文和韩文文本.为了在ConTeXt中使用,我需要根据语言标记文件中的每个文本区域(英语除外),并输出一个新文件,例如,这里是一个示例行:
The ?? ate ?.
Run Code Online (Sandbox Code Playgroud)
因为它包含中文字符的文本,所以这将标记为:
The \language[cn]{??} ate \language[cn]{?}.
Run Code Online (Sandbox Code Playgroud)
\language[cn]{*}.\language[ja]{*}.\language[ko]{*}.如何根据语言标记文本?
我需要在utf8编码的html中匹配一些中文字符,我写了一些测试代码如下:
#! /usr/bin/perl
use strict;
use LWP::UserAgent;
use Encode;
my $ua = new LWP::UserAgent;
my $request = HTTP::Request->new('GET');
my $url = 'http://www.boc.cn/sourcedb/whpj/';
$request->url($url);
my $res = $ua->request($request) ;
my $str_chinese = encode("utf8" ,"??" ) ;
# my $str_chinese = "??" ;
my $str_english = "English" ;
#my $html = decode("utf8" , $res->content) ;
my $html = $res->content ;
if ( $html =~ /$str_chinese/ ) {
print "chinese word matched" ;
}else {
print "chinese word unmatched\n" ;
}
if ( …Run Code Online (Sandbox Code Playgroud)