我对正则表达式完全陌生,所以我在这里寻求一些帮助。
我在JDK 1.5下编译
以我从标准输入读取的这一行为例:
ab:Some string po:bubblegum
Run Code Online (Sandbox Code Playgroud)
我想做的是由两个字符和冒号分割。也就是说,一旦该行被分割并放入字符串数组中,这些术语应该是:
ab:Some string
po:bubblegum
Run Code Online (Sandbox Code Playgroud)
我现在有这个正则表达式:
String[] split = input.split("[..:]");
Run Code Online (Sandbox Code Playgroud)
这在分号处分开;我想要的是它匹配两个字符和一个分号,但在开始之前的空格处分开。这可能吗?
这是字符串数组的输出:
ab
Some String po
bubblegum
Run Code Online (Sandbox Code Playgroud)
我也读过有关 Pattern.compile() 的内容。这是我应该考虑的事情吗?
input.split(" (?=[A-Za-z]{2}:)")
Run Code Online (Sandbox Code Playgroud)
?= 创建正向前瞻。这意味着引擎会向前查看下一个部分是否匹配,而不消耗该部分。如果匹配,则会根据空格字符进行分割。 [A-Za-z]表示大写或小写字母,同时{2}指定我们想要两个与该类匹配的字符。
| 归档时间: |
|
| 查看次数: |
5403 次 |
| 最近记录: |