• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >编程问答 > 正则表达式匹配圆点""的疑问

正则表达式匹配圆点""的疑问

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-07

佚名通过本文主要向大家介绍了正则表达式匹配圆点""的疑问等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:正则表达式匹配圆点""的疑问
描述:

如果要匹配“.”为什么用\\.如果用\.会报错

正则表达式匹配空格,jquery 正则表达式匹配,perl 正则表达式 匹配,正则表达式匹配数字,python 正则表达式匹配,java正则表达式匹配,正则表达式 结尾匹配,正则表达式匹配中

正则表达式匹配空格,jquery 正则表达式匹配,perl 正则表达式 匹配,正则表达式匹配数字,python 正则表达式匹配,java正则表达式匹配,正则表达式 结尾匹配,正则表达式匹配中


解决方案1:

我用php测试了下,.前面加一个\和加两个\\都能正确匹配,不报错,甚至不加\也可以,同求解答

解决方案2:

https://docs.oracle.com/javase/tutorial/java/data/characters.html
Escape Sequences
A character preceded by a backslash (\) is an escape sequence and has special meaning to the compiler. The following table shows the Java escape sequences:

Escape Sequences
\t Insert a tab in the text at this point.
\b Insert a backspace in the text at this point.
\n Insert a newline in the text at this point.
\r Insert a carriage return in the text at this point.
\f Insert a formfeed in the text at this point.
\' Insert a single quote character in the text at this point.
\" Insert a double quote character in the text at this point.
\\ Insert a backslash character in the text at this point.
When an escape sequence is encountered in a print statement, the compiler interprets it accordingly. For example, if you want to put quotes within quotes you must use the escape sequence, \", on the interior quotes. To print the sentence

She said "Hello!" to me.
you would write

System.out.println("She said \"Hello!\" to me.");

解决方案3:

如果是Java的话,反斜杠本身是特殊字符。这个问题应该和正则表达式没有关系,是java的String字符串的问题。

如果定义一个字符串:

String s = "\t";

那么这时候\t是一个整体,表示tab。

如果这样定义:

String s = "\\t";

这个时候字符串s中存储了两个(如果不需要像C那样考虑结束符之类的话,我不知道有没有结束符)字符,\和t。

回到问题。对于

String s = "\\w{3,20}@(qq|mail|163)\.com"

java认为\.是一个整体,会对其转义。但是没有发现对应的转义符。(如第一个回答列出来的那些转义符,其中没有\.),那么就报错了。

对于第二个,意义也就很清楚了。
第二个实际上参与正则表达式匹配的字符串是

\w{3,20}@(qq|mail|163)\.com

注意第一个双反斜杠,是一样处理的。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-06-07 ScalaScala关于seq重载的问题
  • 2017-06-07 如何实现手机端登录?
  • 2017-06-07 python+selenium+HTMLTestRunner生成的html格式的测试报告浏览器打开是空白,为什么?
  • 2017-06-07 GO语言的资料太少了
  • 2017-06-07 spark启动spark伪分布模式问题
  • 2017-06-07 (golang)Dart中的switch为何还需要break
  • 2017-06-07 七牛存储问题?
  • 2017-06-07 融合CDNhttps访问证书问题怎么配置?
  • 2017-06-07 请教AddNew不能执行的原因
  • 2017-06-07 ormORM框架中的R就是指关系型数据库吗?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • python怎么用lxml处理
    • droolsFlow运行异常
    • Python爬某些网站一些数据爬不下来(新手)
    • (shell)如何为SpringWeb项目封装cli接口
    • python变量作用域问题
    • Python报invalidsyntax
    • C++中指针内存释放
    • delphi高手,swf文件高手,flash高手进来看看!!
    • 密码验证:?![0-9a-z]+$?![0-9a-z]+$\w{6,8}$不理解?
    • 各银行理财产品比较问个比较简单的问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有