java正则表达式询问字符串问题
我是一名三年级学生,试图在护士搅动问题上做出自己的区分,我认为这种方法将帮助我满足软约束条件
下面的字符串是给定计划的班次列表
X = No Shift
E = Early
L = Late
D = day
N = Night
我试图检查的约束是<MaxConsecutiveWorkingDays/>
我在Java中工作,试图通过regex找到以下内容
给定以下字符串XXNNEXNDNNLXNNEXLEXDXXXLNE,我想计算XNNEX出现的次数
# 1 楼答案
您可以根据要匹配的字符串对其进行拆分,并计算元素的数量,然后减去1(
+ "."
是为了避免空的结束字符串,它不会包含在数组中)它的工作原理如下:
编辑:这将无法处理XNNEXNNEX这样的字符串,其中有两个重叠匹配
# 2 楼答案
根据您的评论(“XNNEXNNEX”=2),输入字符串。斯普利特不适合你。可以使用正则表达式或字符串。indexOf。两者在逻辑上是相似的。我给regex举个例子:
使用
String.indexOf()
会非常相似:每次比赛后你都需要重置起点。但是String.indexOf()
不能进行正则表达式匹配# 3 楼答案
更好的方法是使用
String#indexOf()
方法