匹配" - word"和#34; - 没有字"但不是" ---字"

时间:2018-04-21 01:31:03

标签: javascript regex

我有以下RegExp:

^--([\w|-]+)

我想匹配

--word
--no-word

但不是:

---word
----word

3 个答案:

答案 0 :(得分:5)

将表达式更改为

^--(\w[-\w]*)

这需要在两个破折号后至少一个字符,请参阅a demo on regex101.com

请注意,字符类本身已经形成了一个替换,所以除非你还想在字符串中的某个地方允许|,否则你在课堂上不需要它。

答案 1 :(得分:0)

这可以在这里工作,我在两个单词字符子句之间检查选项连字符。

^--(\w+[-]?\w+)

答案 2 :(得分:0)

我相信你想识别命令行指令,是吗?

试试这个:

^--\w+(-\w+)*

获取:

--word
--no-word-word-word-word
--no-word

但不是:

---word
----word
--word-
--word--word