Moh*_*mad 4 java regex coldfusion
我正在寻找一个ColdFusion或Java正则表达式(用于替换函数),它只匹配数字[0-9],字母[az],但不包括ASCII 葡萄牙语字母(unicode latin,like ç和ã).
有人喜欢这样:
str = reReplaceNoCase(str, "match none number/letter but keep unicode latin chars", "", "ALL");
Run Code Online (Sandbox Code Playgroud)
Input string: "informação 123 ?:#$%"
Desired outcome: "informação 123"
我知道我可以匹配字母和数字[a-z][0-9],但这不符合ç和等字母ã.
尝试字母数字字符类:\w,它应匹配字母,数字和下划线.
您也可以使用特殊的命名类\p{L}(我不知道,Java RegEx解析器是否支持它).所以在C#中你的任务可以使用以下代码完成:
var input = "informação 123 ?:#$%";
var result = Regex.Replace(input, @"[^\p{L}\s0-9]", string.Empty);
Run Code Online (Sandbox Code Playgroud)
正则表达式[^\p{L}\s0-9]是指:不在此类中的任何字符(所有字母,空格,数字).因此它在您的示例中匹配,?:#$%我们可以用空字符串替换这些字符.