我正在尝试解析java中的C语言代码,我遇到了像
这样的语句printf("hello world");
我正在使用Pattern.compile("printf/(/".*/"/)");
,但收到错误声明
/(不是有效的转义序列
请给出解决这种情况的方法。
答案 0 :(得分:2)
要转义字符,您需要使用反斜杠而不是正斜杠。由于(
是一个特殊的元字符,因此您也需要将其转义。
Pattern.compile("printf\\(\".*?\"\\);");
示例:
String value = "printf(\"hello world\");";
System.out.println(value.matches("printf\\(\".*?\"\\);"));
//=> true