我怎么能有一个匹配字符串的正则表达式:
value="key://string?list"
或者
value="key://string?detail"
我尝试过类似的东西:
new Regex("value=\\w.")
String 是一个字符串值,而不是常量值 String。前任 将会
value="samplekey://samplestring?list"
我怎么能有一个匹配字符串的正则表达式:
value="key://string?list"
或者
value="key://string?detail"
我尝试过类似的东西:
new Regex("value=\\w.")
String 是一个字符串值,而不是常量值 String。前任 将会
value="samplekey://samplestring?list"
使用这个正则表达式value="key://string\?\w+"
编辑:
value="\w+://\w+?\?\w+"
请不要认为这是光顾,但我认为您应该练习测试驱动开发。它将帮助您定义问题的规范。
例如,在您陈述问题的方式中,这可能是一个答案:
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 = "?)这就是为什么最好用 "这应该有效,这应该被拒绝”。它将帮助您避免在程序中进一步出现细微问题。