您的位置:首页 > 其它

匹配任意字符(包括中英文及中英文标点)的正则表达式

2017-03-30 15:48 381 查看

匹配任意字符(包括中英文及任意标点)的正则表达式

Regex :
\\w*|\\W*|[\\u4e00-\\u9fa5]
这个表达式匹配一个任意中英文字符.

其中:
\w
: A word character: [a-zA-Z_0-9](匹配一个单词字符);

其中:
\W
: A non-word character: [^\w](匹配一个非单词字符);

其中:
[\\u4e00-\\u9fa5]
: 匹配一个中文字符;

Ref:http://saltdstar.iteye.com/blog/1041690

Ref:http://www.jb51.net/article/19713.htm

Ref:http://www.jb51.net/article/64301.htm

测试用例:

package cn.mike.march;

public class MatchesAllCharactersIncludeChinese {

public static void main(String[] args) {

String singleWordRegex = "\\w*|\\W*|[\\u4e00-\\u9fa5]";
String chineseCharacter = "犇";
System.out.println("1_: " + chineseCharacter.matches(singleWordRegex));

String multipleWordsRegex = "(\\w*|\\W*|[\\u4e00-\\u9fa5]*)*";
String exampleCharacters = "我的天as牛牪犇df134牛牪犇wsdf64?><?>|_!@@!:;…#$%%^&*(啊.。?";
System.out.println("2_: " + exampleCharacters.matches(multipleWordsRegex));

String regex = "^[A-Z]{1}(\\w*|\\W*|[\\u4e00-\\u9fa5]*)*[。]{1}$";
String exampleChars3 = "B我的天asdf13464?><?>|_!@@#$%%^&*(啊。";
System.out.println("3_: " + exampleChars3.matches(regex));
}
}
/** Output:
1_: true
2_: true
3_: true
*/


附录:

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

匹配双字节字符(包括汉字在内):[^\x00-\xff]

在文本文件里, 这个表达式可以匹配所有的英文 :
/[ -~]/


这个表达式可以匹配所有的非英文(比如中文) :
/[^ -~]/


注意:表达式中间有一个空格;

正则表达式工具:

JavaScript正则表达式在线测试工具:http://tools.jb51.net/regex/javascript

正则表达式在线生成工具 : http://tools.jb51.net/regex/create_reg

by Mike Sun @ 20170330
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐