如何匹配Unicode元音?

n.r*_*.r. 8 perl character-class

什么字符类或Unicode属性将匹配Perl 中的任何Unicode元音?

错误答案:[aeiouAEIOU].(这里的讲道,洗衣清单中的第24项)

perluniprops仅为Hangul和印度语脚本提及元音.

让我们抛开一个元音是什么的问题.是的,i在某些情况下可能不是元音.所以,任何可以作为元音的角色都可以.

ike*_*ami 7

没有这样的财产.

$ uniprops --all a
U+0061 <a> \N{LATIN SMALL LETTER A}
    \w \pL \p{LC} \p{L_} \p{L&} \p{Ll}
    AHex POSIX_XDigit All Alnum X_POSIX_Alnum Alpha X_POSIX_Alpha Alphabetic Any ASCII
       ASCII_Hex_Digit Assigned Basic_Latin ID_Continue Is_IDC Cased Cased_Letter LC
       Changes_When_Casemapped CWCM Changes_When_Titlecased CWT Changes_When_Uppercased CWU Ll L
       Gr_Base Grapheme_Base Graph X_POSIX_Graph GrBase Hex X_POSIX_XDigit Hex_Digit IDC ID_Start
       IDS Letter L_ Latin Latn Lowercase_Letter Lower X_POSIX_Lower Lowercase PerlWord POSIX_Word
       POSIX_Alnum POSIX_Alpha POSIX_Graph POSIX_Lower POSIX_Print Print X_POSIX_Print Unicode Word
       X_POSIX_Word XDigit XID_Continue XIDC XID_Start XIDS
    Age=1.1 Age=V1_1 Block=Basic_Latin Bidi_Class=L Bidi_Class=Left_To_Right BC=L
       Bidi_Paired_Bracket_Type=None Block=ASCII BLK=ASCII Canonical_Combining_Class=0
       Canonical_Combining_Class=Not_Reordered CCC=NR Canonical_Combining_Class=NR
       Decomposition_Type=None DT=None East_Asian_Width=Na East_Asian_Width=Narrow EA=Na
       Grapheme_Cluster_Break=Other GCB=XX Grapheme_Cluster_Break=XX Hangul_Syllable_Type=NA
       Hangul_Syllable_Type=Not_Applicable HST=NA Indic_Positional_Category=NA InPC=NA
       Indic_Syllabic_Category=Other InSC=Other Joining_Group=No_Joining_Group JG=NoJoiningGroup
       Joining_Type=Non_Joining JT=U Joining_Type=U Script=Latin Line_Break=AL
       Line_Break=Alphabetic LB=AL Numeric_Type=None NT=None Numeric_Value=NaN NV=NaN
       Present_In=1.1 IN=1.1 Present_In=2.0 IN=2.0 Present_In=2.1 IN=2.1 Present_In=3.0 IN=3.0
       Present_In=3.1 IN=3.1 Present_In=3.2 IN=3.2 Present_In=4.0 IN=4.0 Present_In=4.1 IN=4.1
       Present_In=5.0 IN=5.0 Present_In=5.1 IN=5.1 Present_In=5.2 IN=5.2 Present_In=6.0 IN=6.0
       Present_In=6.1 IN=6.1 Present_In=6.2 IN=6.2 Present_In=6.3 IN=6.3 Present_In=7.0 IN=7.0
       Present_In=8.0 IN=8.0 SC=Latn Script=Latn Script_Extensions=Latin Scx=Latn
       Script_Extensions=Latn Sentence_Break=LO Sentence_Break=Lower SB=LO Word_Break=ALetter WB=LE
       Word_Break=LE
Run Code Online (Sandbox Code Playgroud)

处理i18n时最重要的事情是考虑你真正需要的东西,但你甚至没有提到你想要完成的事情.

找元音?这不可能是你真正想做的事情.我可以看到,用于识别元音用声音一个字,但这些往往是由多个字母(如"OO"的英文和"IN","一个" /"恩","OU"形成,"AI" ,"au"/"eau",法语中的"eu",它将是语言特定的.

就目前而言,您要求的是全球解决方案,但您要用本地术语来定义问题.首先,您需要从定义要解决的实际问题开始.

  • 就此而言:目前尚不清楚“元音”对于表意字符或音节字符的含义。 (2认同)
  • 你实际上必须确定ἐπιστήμη是否以单词开始的语言中的*元音*开头.在法语中,所有都以元音开头,以元音开头的所有东西都算作元音(包括"oi",实际上不是元音),但我不知道是否所有其他语言的情况都是如此.事实上,我刚刚发现了一个例外:英文单词"You"并非以元音声音开头.如果有一个名为"你"的东西,它将是"le You",而不是"l'You".这看起来不像是可以使用正则表达式解决的问题. (2认同)
  • 另外,请考虑 *l'homme*、*l'hôpital*、*l'Hospital* 等。 (2认同)