使用正则表达式¶
快捷符号¶
\d
表示[0—9]
\D
表示[^0—9]
\w
表示[0—9A—Z_a—z]
\W
表示[^0—9A—Z_a—z]
\s
表示[\t\n\r\f]
\S
表示[^\t\n\r\f]
使用示例¶
匹配符号¶
字符串最后一个字符匹配,检查是否符号
private boolean strEndsWithMark(String s) {
if (!TextUtils.isEmpty(s)) {
String e = s.substring(s.length() - 1);
return e.matches("[`~!@#$%^&*()+=|{}':;',\\\\[\\\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?'’]");
}
return false;
}
至少有1个汉字¶
汉字正则表达式是[\u4e00-\u9fa5]
。在Java中需要\\
来表示\
。
我们用Pattern和Matcher来寻找符合条件的字符。
String reg = "[\\u4e00-\\u9fa5]" // 代码中\需要转义
boolean res = Pattern.compile(reg).matcher(input).find();
idea输出。输出的时候注意反斜杠显示的数量。
reg: [\u4e00-\u9fa5]
input: 你好 ; reg: [\u4e00-\u9fa5] => true
input: 你好.txt ; reg: [\u4e00-\u9fa5] => true
input: 你好.log ; reg: [\u4e00-\u9fa5] => true
input: a你a好a.txt ; reg: [\u4e00-\u9fa5] => true
input: a你a好a.txt ; reg: [\u4e00-\u9fa5] => true
input: a.xtxt ; reg: [\u4e00-\u9fa5] => false
input: abctxtlog ; reg: [\u4e00-\u9fa5] => false
input: xx.xlog ; reg: [\u4e00-\u9fa5] => false
以某段字符结尾¶
Java中的正则,需要用\.
来代表点号 .
。
$
匹配输入字符串结尾的位置。如果设置了 RegExp 对象的 Multiline 属性,$ 还会与"\n"或"\r"之前的位置匹配。\.txt
表示要符合.txt
条件,即点
和txt
以.txt
为结尾,Java中正则表达式如下,注意这2个反斜杠\\
查询的Java代码如下,用Pattern和Matcher来寻找。
输出示例。输出的时候注意反斜杠显示的数量。
reg: \.txt$
input: 你好 ; reg: \.txt$ => false
input: 你好.txt ; reg: \.txt$ => true
input: 你好.log ; reg: \.txt$ => false
input: a你a好a.txt ; reg: \.txt$ => true
input: a.xtxt ; reg: \.txt$ => false
input: abctxtlog ; reg: \.txt$ => false
input: xx.xlog ; reg: \.txt$ => false
input: txt.log ; reg: \.txt$ => false
input: log.txt ; reg: \.txt$ => true
input: .txt.log ; reg: \.txt$ => false
input: .log.txt ; reg: \.txt$ => true
这里的正则表达式只设定了1个条件:以xx为结尾。
同理,我们可以很容易得出.log
,.png
,.jpg
结尾的正则表达式。
本站说明
一起在知识的海洋里呛水吧。广告内容与本站无关。如果喜欢本站内容,欢迎投喂作者,谢谢支持服务器。如有疑问和建议,欢迎在下方评论~