(警告-使用Google翻译制作)
我正在学习使用正则表达式,同时为自己创建一个简单的程序,该程序将输入一个字符串,该字符串由各种骰子滚动的公式和修饰符组成。例如:2d6+13+3d10-1d4+5+1d8-6
我有一个正则表达式来搜索像“+-XdY”这样的段:(^|[\\+-])[1-9]\\d*d[1-9]\\d*
我想从字符串中剪切这样的段,将它们存储为数组以便进一步处理,同时将它们从字符串中删除Input - string "2d6+13+3d10-1d4+5+1d8-6"
Output - string "+13+5-6" (without any +-XdY) and array of strings {"2d6", "+3d10", "-1d4", "+1d8"} (all of +-XdY)
因此之后可以使用修饰符(使用另一个正则表达式)重复它Input - string "+13+5-6"
Output - string "" and array of strings {"+13", "+5", "-6"}
并通过末尾的剩余字符串了解数据是否正确输入(空=好)。
问题是我根本找不到合适的工具来从字符串中剪切某些片段并将其保存为数组。
你能帮我吗?或者有一个更简单的算法来完成这个任务?
提前感谢您的帮助!
1条答案
按热度按时间8hhllhi21#
在
+
或-
之前拆分:测试代码:
输出量: