javascript - js regex - 将空格与特定字符匹配

标签 javascript regex

在下面的字符串中,我想匹配连字符前后有空格的字符串,但如果没有空格也没关系:

a) 54 -4 Broadway - 比赛
b) 54 - 4 Broadway - 比赛
c) 54- 4 Broadway - 比赛
d) 54-4 Broadway - 不应该匹配

\s*-\s* 

<- 也匹配最后一个例子,但不是必需的。

捕获组?也匹配最后一个案例 ->

(\s*-\s*)|(^\s-^\s)  

谢谢

最佳答案

您可以使用以下正则表达式:

/\d+(?!-\d)\s*?-\s*?\d+\s*?Broadway/g

正则表达式匹配一个或多个数字,后跟一个连字符和一个数字负前瞻 .

然后它匹配零个或多个 White Spaces、一个 hyphen 和零个或多个 White Spaces,后跟一个或多个 数字和零个或多个White Spaces,以字符串'Broadway'结尾。

根据评论编辑:

/\w+(?!-\w)\s*?-\s*?\w+.*/g

现在它将匹配 Word 字符(包括数字)而不是数字,并匹配该行的其余部分,无论它是什么文本。

仍然不匹配:54-4 Broadway。

关于javascript - js regex - 将空格与特定字符匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53468664/

相关文章:

javascript - 正则表达式匹配不正确

java - 正则表达式异常

javascript - 有条件地去除 HTML 标记内容的正则表达式

javascript - 如何在内部函数异步执行某些操作时从外部函数的回调返回值

javascript - 使用 google-code-prettify 美化代码的滚动条

javascript - 如何正确删除动画集中引用的 Raphael SVG 元素?

regex - Hadoop Pig正则表达式

javascript - 如何在 JavaScript 中使用 querySelector 选择具有特定类的所有子元素,而不考虑它们在 HTML 中出现的顺序?

javascript - 如何使用 javascript 检查字符串是否包含有效的 vimeo url?

regex - 使用 Regex 和 AltSearch 删除空行