Java中的拉丁字母正则表达式

时间:2014-12-30 15:08:35

标签: java regex unicode latin

我需要一个Java中的正则表达式,它匹配拉丁字母和一些特殊字符。

我不想列出这些角色。

示例:

应符合以下大写和小写:äöü ç łąćżźńóę

不匹配: £

我尝试了几种模式和小组,但是几小时后我就没有想法了

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:9)

\p{IsLatin}字符类将执行此操作。

即,System.out.println(someString.matches("\\p{IsLatin}+"));

它在Pattern class documentation中命名。

使用快速循环迭代所有可能的字符表明它匹配的完整字符集是:

  

ABCDEFGHIJKLMNOPQRSTU VWXYZ abcdefghijklmnopqrstu vwxyzª¢¢Ã¢Ã¢ÇÇ¢¢¢¢¢¢¢¢¢Ô¢Ö¼Ö¼Ö¼ êE I I I I dñO O O O O O U U U U第y Y A A A A A A C C C C C C C C d dĐđE E E E E E E E E E G G G G G G G G H H H H I I I I I I I I I IIJijĴĴķķĸL L L L L L L L L L N N N N N NʼnN N O O O O O OœœR R R R R R S S S S S S S S T T [T T [T T [U U U U U U U U U U U U W W Y Y Y Z Z Z Z Z Z小号Ƀ ƁƂƂƄƄƆƇƇƉƊƌƌƍƎəɛƒƒƓɣƕƖƗƙƙƚƛƜƝƞƟ○○ƣƣƥƥƦƧƨΣƪƫƬƬƮU UƱƲ ƴƴZ Zʒƹƹƺƻƽƽƾƿ|!ǁǂdždždžLJLjljnjnjnjǎǎǏǐǒǒǔǔǖǖǘǘǚǚǛǜǝǞǟǡǡǢǣǤ ǥǦǧǨǩ ǪǫǬǭǮǯǰDZDzdzǵǵǶǷǹǹǺǺǼǽǾǾȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗššT T [ ȝȝȟȟƞȡȣȣȤȥ埃埃ȩȩȪȫȬȭȯȯȰȱȲȳȴȵȶȷȸȹȺȼȼȽȾȿɀɁɂɃɄʌɆɇɉɉɊɋɌɍ ɏɏɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿ ʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱ ʲʳʴʵʶʷʸˠˡˢˣˤᴀᴁᴂᴃᴄᴅᴆᴇᴈᴉᴊᴋᴌᴍᴎᴏᴐᴑᴒᴓᴔᴕᴖᴗᴘᴙᴚᴛᴜᴝᴞᴟᴠᴡᴢᴣᴤᴥ ᴬᴭᴮᴯᴰᴱᴲᴳᴴᴵᴶᴷᴸᴹᴺᴻᴼᴽᴾᴿᵀᵁᵂᵃᵄᵅᵆᵇᵈᵉᵊᵋᵌᵍᵎᵏᵐᵑᵒᵓᵔᵕᵖᵗᵘᵙᵚᵛᵜᵢ ᵣᵤᵥ ᵫᵬᵭᵮᵯᵰᵱᵲᵳᵴᵵᵶᵷᵹᵺᵻᵼᵽᵾᵿᶀᶁᶂᶃᶄᶅᶆᶇᶈᶉᶊᶋᶌᶍᶎᶏᶐᶑᶒᶓᶔᶕᶖᶗᶘᶙᶚᶛᶜᶝ ᶞᶟᶠᶡᶢᶣᶤᶥᶦᶧᶨᶩᶪᶫᶬᶭᶮᶯᶰᶱᶲᶳᶴᶵᶶᶷᶸᶹᶺᶻᶼᶽᶾA A B B B B B B C C d d d d d d d d d d E E E E E E E E EËF F G G H H H H H H H H H H I I I I KķķķL个K L L L LḺL L L M M M M M M×N个N N N N N N N○○○○○○○○ṕṕṖṗR R R R R R R的R F S S S S S S S S S T T [T T [T T [T T [üüü U U U U U U U,V,V V V W W W W W W W W W W X X X X Y Y Z Z Z Z Z Z H T w ^ýA FẜẝẞẟA A A A A A A A A A A A A A A A A A A A A A A A E E E E E E E E E E E E E E E E I I I I O O O O O O O O O O O O O ○○○○○○○○○○○U U U U U U U U U U U U U U Y Y Y Y Y Y Y YỻỻỽỽỾỿⁱⁿₐₑₒₓₔₕₖₗₘ ₙₚₛₜK AⅎⅎⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⅼⅽⅾⅿⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⅼⅽⅾⅿↀↁↂↃↄↅↆↇↈⱠ ⱡⱢⱣɽⱥⱦⱨⱨⱪⱪⱬⱬɑⱮⱯⱰⱱⱳⱳⱴⱵⱶⱷⱸⱹⱺⱻⱼⱽⱾⱿꜢꜣꜤꜥꜦꜧꜨꜩꜫꜫꜬꜭꜮꜯꜰꜱꜳꜳꜴ ꜵꜷꜷꜹꜹꜻꜻꜽꜽꜿꜿꝁꝁꝃꝃꝅꝅꝇꝇꝉꝉꝋꝋꝍꝍꝏꝏꝑꝑꝓꝓꝕꝕꝗꝗꝙꝙꝛꝛꝝꝝꝟꝟꝡꝡꝣꝣꝥꝥꝦ ꝧꝨꝩꝪꝫꝬꝭꝮꝯꝰꝱꝲꝳꝴꝵꝶꝷꝸꝹꝺꝻꝼꝽꝾꝿꞀꞁꞂꞃꞄꞅꞆꞇꞋꞌꞍꞎꞐꞑꞒꞓꞠꞡꞢꞣꞤꞥꞦꞧꞨ ꞩꞪꟹꟺꟻꟼꟽꟿꟿꟿꟿꟿꟿfl fl fl fl fl fl fl fl fl fl fl g g g g g g g g g g g g g g g g g g g g g g g g g h i j k l m n o p q r s t u v w x y z

如果这太多了,你可以将它与一些named Unicode blocks相交。

例如,这个角色类:

[\p{IsLatin}&&[\p{InBasic_Latin}\p{InLatin_1_Supplement}\p{InLatin_Extended_A}\p{InLatin_Extended_B}]]

将匹配:

  

ABCDEFGHIJKLMNOPQRSTU VWXYZ abcdefghijklmnopqrstu vwxyzª¢¢Ã¢Ã¢ÇÇ¢¢¢¢¢¢¢¢¢Ô¢Ö¼Ö¼Ö¼ êE I I I I dñO O O O O O U U U U第y Y A A A A A A C C C C C C C C d dĐđE E E E E E E E E E G G G G G G G G H H H H I I I I I I I I I IijijĴĴķķĸL L L L L L L L L L N N N N N NʼnN N O O O O O OœœR R R R R R S S S S S S S S T T [T T [T T [U U U U U U U U U U U U W W Y Y Y Z Z Z Z Z Z小号Ƀ ƁƂƂƄƄƆƇƇƉƊƌƌƍƎəɛƒƒƓɣƕƖƗƙƙƚƛƜƝƞƟ○○ƣƣƥƥƦƨƨΣƪƫƬƬƮU UƱƲ ƴƴZ Zʒƹƹƺƻƽƽƾƿ|!ǁǂdždždžljljljnjnjnjǎǎǐǐǒǒǔǔǖǖǘǘǚǚǜǜǝǟǟǡǡǣǣǤ ǥǦǧǨǩ ǪǫǬǭǮǯǰDZDzdzǵǵǶǷǹǹǺǺǼǽǾǾȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗššT T [ ȝȝȟȟƞȡȣȣȥȥ埃埃ȩȩȫȫȭȭȯȯȱȱȳȳȴȵȶȷȸȹȺȼȼȽȾȿɀɂɂɃɄʌɇɇɉɉɋɋɍɍ Ɏɏ

答案 1 :(得分:0)

使用以下模式(\p{L}匹配任何unicode字符):

[\p{L}]+
相关问题