在单词的中间有撇号而不在单词

时间:2016-09-21 05:08:47

标签: regex string scala symbols

我希望我的正则表达式检测字符串

abc'
'abc

'

并没有检测到类似的东西:

ab'c

我怎样才能做到这一点。非常感谢任何帮助,谢谢。

[EDITED]

我怎么说正则表达式:

采用此模式(?:(^\\w+'\\w+))并匹配'

的任何其他匹配项

忽略ab'c,然后匹配所有'

3 个答案:

答案 0 :(得分:1)

这应该可以解决问题:

^'|'$

答案 1 :(得分:1)

(^'.*)|(.*'$)应该有用,或者至少在我的测试中有效。

答案 2 :(得分:0)

匹配单词边界上的撇号:

scala> val r = """\b'|\b'""".r
r: scala.util.matching.Regex = \b'|\b'

scala> def f(s: String) = r.findAllMatchIn(s).map(_.start).toList
f: (s: String)List[Int]

scala> f("ab'")
res0: List[Int] = List(2)

scala> f("ab' c'd 'ef")
res1: List[Int] = List(2, 5)

给出距离最后一场比赛的距离。