开发者社区> 问答> 正文

java 读入含换行、双引号字符串引起的双引号匹配等问题

将以下文段从文本框读入,赋给一个String变量产生的异常,求破

概要:

   Java正则表达式的语法与示例

匹配验证-验证Email是否正确
在字符串中查询字符或者字符串
常用正则表达式
正则表达式语法
匹配验证-验证Email是否正确

public static void main(String[] args) {

// 要验证的字符串
String str = "service@xsoftlab.net";
// 邮箱验证规则
String regEx = "[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\\.){1,3}[a-zA-z\\-]{1,}";
// 编译正则表达式
Pattern pattern = Pattern.compile(regEx);
// 忽略大小写的写法
// Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(str);
// 字符串是否与正则表达式相匹配
boolean rs = matcher.matches();
System.out.println(rs);

}
在字符串中查询字符或者字符串

public static void main(String[] args) {

// 要验证的字符串
String str = "baike.xsoftlab.net";
// 正则表达式规则
String regEx = "baike.*";
// 编译正则表达式
Pattern pattern = Pattern.compile(regEx);
// 忽略大小写的写法
// Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(str);
// 查找字符串中是否有匹配正则表达式的字符/字符串
boolean rs = matcher.find();
System.out.println(rs);

}
常用正则表达式

一个或多个汉字:^[u0391-uFFE5]+$
邮政编码:^[1-9]d{5}$
QQ号码:^[1-9]d{4,10}$
邮箱:^[a-zA-Z]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}.){1,3}[a-zA-z-]{1,}$
用户名(字母开头 + 数字/字母/下划线):^A-Za-z+$
手机号码:^13|4|5|8d{8}$
URL:^((http|https)://)?([w-]+.)+[w-]+(/[w-./?%&=]*)?$
18位身份证号:^(d{6})(18|19|20)?(d{2})([01]d)([0123]d)(d{3})(d|X|x)?$
看这里:正则表达式语法

展开
收起
xiao_xi 2017-03-12 10:43:36 4836 0
1 条回答
写回答
取消 提交回答
  • replaceAll掉你不期望的字符,因为双引号和换行其实不是有效地字符。去掉应该不会出现业务错误。

    2019-07-17 20:54:27
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载