而分裂到下面的代码
String s = "12+12";
String[] sr = s.split("+");
我得到这个错误在logcat
09-03 15:57:22.489: E/AndroidRuntime(22029): FATAL EXCEPTION: main
09-03 15:57:22.489: E/AndroidRuntime(22029): java.util.regex.PatternSyntaxException: Syntax error in regexp pattern near index 1:
09-03 15:57:22.489: E/AndroidRuntime(22029): +
09-03 15:57:22.489: E/AndroidRuntime(22029): ^
09-03 15:57:22.489: E/AndroidRuntime(22029): at java.util.regex.Pattern.compileImpl(Native Method)
09-03 15:57:22.489: E/AndroidRuntime(22029): at java.util.regex.Pattern.compile(Pattern.java:407)
09-03 15:57:22.489: E/AndroidRuntime(22029): at java.util.regex.Pattern.<init>(Pattern.java:390)
09-03 15:57:22.489: E/AndroidRuntime(22029): at java.util.regex.Pattern.compile(Pattern.java:381)
09-03 15:57:22.489: E/AndroidRuntime(22029): at java.lang.String.split(String.java:1832)
09-03 15:57:22.489: E/AndroidRuntime(22029): at java.lang.String.split(String.java:1813)
09-03 15:57:22.489: E/AndroidRuntime(22029): at net.telivo.fiestacancun.ui.calllog.CallLogDetailsFragment$1.onClick(CallLogDetailsFragment.java:171)
09-03 15:57:22.489: E/AndroidRuntime(22029): at android.view.View.performClick(View.java:4240)
09-03 15:57:22.489: E/AndroidRuntime(22029): at android.view.View$PerformClick.run(View.java:17721)
09-03 15:57:22.489: E/AndroidRuntime(22029): at android.os.Handler.handleCallback(Handler.java:730)
09-03 15:57:22.489: E/AndroidRuntime(22029): at android.os.Handler.dispatchMessage(Handler.java:92)
09-03 15:57:22.489: E/AndroidRuntime(22029): at android.os.Looper.loop(Looper.java:137)
09-03 15:57:22.489: E/AndroidRuntime(22029): at android.app.ActivityThread.main(ActivityThread.java:5103)
09-03 15:57:22.489: E/AndroidRuntime(22029): at java.lang.reflect.Method.invokeNative(Native Method)
09-03 15:57:22.489: E/AndroidRuntime(22029): at java.lang.reflect.Method.invoke(Method.java:525)
09-03 15:57:22.489: E/AndroidRuntime(22029): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
09-03 15:57:22.489: E/AndroidRuntime(22029): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-03 15:57:22.489: E/AndroidRuntime(22029): at dalvik.system.NativeStart.main(Native Method)
应该转义,因为
用于表示一个量词
应该是s.split("\\");
String#split
接受正则表达式。
如果你不想转义特殊的char,你可以使用
Pattern#index
:
返回指定字符串的文本模式字符串。
String sr[] = s.split(Pattern.quote("+"));
现在将被视为常规字符而不是元字符。
主要内容:正则表达式元字符,贪婪模式非贪婪模式,正则表达式转义正则表达式(regular expression)是一种字符串匹配模式或者规则,它可以用来检索、替换那些符合特定规则的文本。正则表达式几乎适用于所有编程语言,无论是前端语言 JavaScript,还是诸如许多后端语言,比如 Python、Java、C# 等,这些语言都提供了相应的函数、模块来支持正则表达式,比如 Python 的 re 模块就提供了正则表达式的常用方法。 在使用 Python 编写
正则表达式是字符串处理的有力工具和技术,正则表达式使用预定义的特定模式去匹配一类具有共同特征的字符串,主要用于字符串处理,可以快速、准确地完成复杂的字符串查找、替换等处理要求。 常用的正则表达式元字符: 元字符|功能说明 :-:|- .|除换行符外的任意单个字符 *|0个或任意多个字符 +|1个或任意多个字符 -|用在 [ ] 中表示范围 ||两者中一个 ^|行首 $|行尾 ?|0个或1个字符 \
我正在尝试替换字符串中的所有方括号。 这是我的节目 但我正在 有谁能告诉我如何更换所有方括号吗??
本文向大家介绍老生常谈JavaScript 正则表达式语法,包括了老生常谈JavaScript 正则表达式语法的使用技巧和注意事项,需要的朋友参考一下 JavaScript定义正则表达式有两种方法。 1.RegExp构造函数 var pattern = new RegExp("[bc]at","i"); 它接收两个参数:一个是要匹配的字符串模式,另一个是可选的标志字符串。 2.字面量 var pa
当我在Eclipse IDE中打开Cucumber编辑器时,我收到以下错误- 我在之前的一次执行中收到此错误,因为我的步骤定义文件中有一个错误。我已经修复了这个问题,当我再次尝试打开功能文件时,我收到了这个错误。有人能帮我解决这个问题吗。已附加功能文件和程序。即使重新运行也不起作用。 代码 打开功能文件时Eclipse IDE出错截图:Eclipse中Cucumber编辑器错误
我正在用java编写正则表达式,但在运行程序时出错。 我想让我的正则表达式与这些示例值匹配。 我用在线regex助手尝试了它,我的regex实际上工作得很好。但当我在中运行程序时,会出现以下错误: 另一个问题是,如何格式化正则表达式,以便也可以将其与此字符串匹配? 谢谢 [编辑] 你能帮我回答这部分问题吗? 另一个问题是,如何格式化正则表达式,以便也可以将其与此字符串匹配? MyKey="ID I