我的目标是在所有出现的"yy"中分割一个字符串(使用Java或Scala),这些字符串既没有被跟随也没有另一个字母"y".例子:
"aa-yy-bb" -> ["aa-", "-bb"]
"aa-yyyy-bb" -> ["aa-yyyy-bb"]
"yyy-bb" -> ["yyy-bb"]
"yy-bb" -> ["","-bb"]
"aa-yy-bb-yy" -> ["aa-","-bb-",""]
Run Code Online (Sandbox Code Playgroud)
我结束了,mystring.split("(^|[^y])yy([^y]|$)", -1)但这个解决方案是无效的,因为它丢弃任何相邻的字符,例如,它输出"aa-yy-bb" -> ["aa", "bb"].
当然,这种拆分可以通过手动解析来解决,但我想知道是否存在(优雅的)模式匹配解决方案.你能找到一些吗?
为此做了一些看法
(?<!y)yy(?!y)
Run Code Online (Sandbox Code Playgroud)
(?<!y) 负面观察yy yy字面匹配字符(区分大小写)(?!y) 否定前瞻| 归档时间: |
|
| 查看次数: |
85 次 |
| 最近记录: |