在下面的字符串中,我希望匹配在连字符之前或之后有空格的字符串,但是如果没有空格,也可以:
( a) 54 -4 Broadway -匹配
( b) 54 - 4 Broadway -匹配
( c) 54- 4 Broadway -匹配
( d) 54-4 Broadway -不应该匹配
\s*-\s* <-匹配也是最后一个示例,但不需要。
俘虏小组?最后一次匹配也是->
(\s*-\s*)|(^\s-^\s) 谢谢
发布于 2018-12-03 14:06:56
这是在这种情况下起作用的regex (有人发布了它,但后来删除了.):
str.match(/\s+-\s*|-\s+/)发布于 2018-11-25 15:56:44
您可以使用以下正则表达式:
/\d+(?!-\d)\s*?-\s*?\d+\s*?Broadway/g正则表达式与one or more digits匹配,其次是hyphen的negative lookahead和digit。
然后它匹配零或多个White Spaces、一个hyphen和零或多个White Spaces,然后是一个或多个digits和零或多个White Spaces,以字符串'Broadway'结尾。
据评论,编辑:
/\w+(?!-\w)\s*?-\s*?\w+.*/g现在,它将匹配Word字符(其中包括数字)而不是数字,并匹配行的其余部分,无论它是什么文本。
尽管如此,它仍然不匹配: 54-4百老汇。
https://stackoverflow.com/questions/53468664
复制相似问题