-2

我怎么能有一个匹配字符串的正则表达式:

value="key://string?list"

或者

value="key://string?detail"

我尝试过类似的东西:

new Regex("value=\\w.")

String 是一个字符串值,而不是常量值 String。前任 将会

value="samplekey://samplestring?list"
4

2 回答 2

1

使用这个正则表达式value="key://string\?\w+"

编辑:

value="\w+://\w+?\?\w+"

于 2013-04-08T10:53:42.130 回答
1

请不要认为这是光顾,但我认为您应该练习测试驱动开发。它将帮助您定义问题的规范。

例如,在您陈述问题的方式中,这可能是一个答案:

value="\w+://\w+\?(list|detail)"

或在斯卡拉:

scala> val r = """value="\w+://\w+\?(list|detail)"""".r
r: scala.util.matching.Regex = value="\w+://\w+\?(list|detail)"

请注意,这些匹配:

value="key1://string1?list"
value="key1://string1?detail"

但这些不匹配:

value="my-key://my-string?list" // hint: it's the "-". \w does not match it
value="mykey://mystring?test" // hint: list or details are matched but "test" is not

可能还有很多其他极端情况(您是否想要区分大小写的匹配?等号周围是否可以有空格,例如 value = "?)这就是为什么最好用 "这应该有效,这应该被拒绝”。它将帮助您避免在程序中进一步出现细微问题。

于 2013-04-08T11:25:07.213 回答