Cal*_*ers 0 java regex literals
我正在使用处理1.0.6,它运行在java 1.6上.我有以下代码:
Pattern pattern = Pattern.compile("func\((.*),(\-?[0-9\.]*),(\-?[0-9\.]*),(\-?[0-9\.]*)\)");
Run Code Online (Sandbox Code Playgroud)
但它给出了错误:
unexpected char: '('
Run Code Online (Sandbox Code Playgroud)
并突出显示我粘贴在上面的线条.如果我将违规行为更改\(为另一个角色#,那就会抱怨这\-句话unexpected char: '-'.我应该能够在正则表达式引擎中使用文字,它可以在C#中使用!
你也需要逃避反斜杠:
"func\\((.*),(-?[0-9.]*),(-?[0-9.]*),(-?[0-9.]*)\\)"
Run Code Online (Sandbox Code Playgroud)
该字符串表达式将被评估为:
func\((.*),(-?[0-9.]*),(-?[0-9.]*),(-?[0-9.]*)\)
Run Code Online (Sandbox Code Playgroud)
这就是你想要的.