java - 正则表达式 Java 错误

标签 java regex

我无法在 Java 上运行此正则表达式:

 String regex = "/^{m:\"(.*)\",s:([0-9]{1,15}),r:([0-9]{1,15}),t:([0-9]{1,2})}$/";

String data = "{m:\"texttexttext\",s:1231,r:23123,t:1}";
Pattern p = Pattern.compile(regex_Write_clientToServer);

Matcher a = p.matcher(data);

这相同的正则表达式和正则表达式站点的测试器上的相同数据(如 http://gskinner.com/RegExr/ )工作正常!

最佳答案

两个问题:

  1. 在 java 中,(与 Perl 等不同)正则表达式不包含在 / 字符中
  2. 您必须转义您的{ 文字:

试试这个:

String regex = "^\\{m:\"(.*)\",s:([0-9]{1,15}),r:([0-9]{1,15}),t:([0-9]{1,2})\\}$";

关于java - 正则表达式 Java 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7937672/

相关文章:

java - Tomcat 应用程序显示 "Unable to configure the logging system. No log.properties was found."

java - 使用Gson解析不同字段的子类

java - 无法通过 com.sun.lwuit.image.createimage 从 vector 对象创建图像

regex - 在 Lua 中使用字符串模式获取一组括号内部和外部的字符串字符?

mysql - 匹配第二个字符正则表达式mysql

java - 棋盘游戏逻辑的持久套接字 (Android)

c# - C# 对 Java Web 服务的请求中 header 和请求之间的奇怪字符会阻止成功

c# - 如何在 C# 中使用正则表达式将短语拆分为单词

regex - 使用 sed 仅替换字符的单个实例

php - 如何将此 PHP 正则表达式转换为 Javascript 正则表达式?