regex.java:18: cannot find symbol symbol : method m(java.lang.String) location: class java.util.regex.Pattern m = p.m(b);是什么错误
时间: 2024-09-28 14:12:00 浏览: 55
这个错误提示是在尝试调用一个名为 `m` 的方法,但是`Pattern` 类并没有名为 `m` 的方法。从提供的信息来看,可能是你在试图使用正则表达式的方法,比如 `matches()` 或 `compile()` 等,而不是直接访问 `Pattern` 对象的内部方法。
`p.m(b)` 这一行看起来像是在尝试使用某个已经编译好的正则表达式 (`p`) 来执行某种操作,但是 `b` 变量不是 `Pattern` 对象的方法参数。正确的做法应该是这样的:
```java
Pattern p = Pattern.compile("your_regex_here"); // 编译正则表达式
Matcher m = p.matcher("input_string_here"); // 创建Matcher对象
// 调用matcher方法对应的函数,如matches(),replaceAll()等
boolean matchesResult = m.matches(); // 或者 m.replaceAll(replacement);
```
如果你确实想使用 `Pattern` 类的内部方法,那这个错误通常表示该方法不存在或者拼写错误。请检查一下你的代码,确保方法名和参数都是正确的。
相关问题
Dev解决[Error] regex.h: No such file or directory
在 Dev C++ 中解决 `regex.h` 头文件找不到的问题可以按照以下步骤操作:
1. 打开 Dev C++ 编辑器,创建一个新的空项目。
2. 在项目中添加您的源代码文件。
3. 在菜单栏中选择 "Tools" -> "Compiler Options"。
4. 在弹出的对话框中选择 "Directories" 选项卡。
5. 在 "Include Directories" 中添加 `C:\Dev-Cpp\include`,或者您安装 Dev C++ 的目录。
6. 在 "Libraries" 中添加 `libregex.a` 以链接正则表达式库。
7. 点击 "OK" 保存修改,并重新编译您的代码。
这样就可以解决 `regex.h` 头文件找不到的问题了。如果您仍然遇到问题,可以尝试重新安装 Dev C++ 或者使用其他编译器来编译您的代码。
怎么解决import java.util.regex.Matcher;问题
如果你在使用Java编程时遇到了“import java.util.regex.Matcher”这个问题,可能是因为你的代码中使用了Java正则表达式,但是没有导入相关的包。
你可以在Java代码中添加以下导入语句:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
```
其中,Matcher和Pattern都是Java正则表达式相关的类,需要同时导入才能使用。添加了这两个导入语句后,就可以在代码中使用Matcher类了。
如果还有其他类需要导入,可以根据需要添加相应的导入语句。
阅读全文