需要构建一个REGEX以放置在javascript中



MY Regex:

/^[s]*('[a-zA-Z0-9_:.-s\/()&><]+(,+s*[a-zA-Z0-9_:.-s\/()&><]+)*'[s,]*)*$/

我希望它验证::

'A','B,C','D','E,F','G','H'....... // like wise no specific pattern

在这里,"A"可以是一个单词或句子,上面提到的其他字母也是如此。

无效案例::

A','B'    // Missing single quote
'A''B'    // Missing comma
A',B'     // Missing single quote
'A','B    // Missing single quote 
'A','B',  // Extra comma
'A',,'B'  // Double comma
,'A','B'  // Comma at beginning

其中一些无效案例没有被我的REGEX捕获。我应该在正则表达式中更改什么?

我已经测试过了https://regex101.com/

您可以使用此正则表达式使问题中显示的所有字符串无效:

/^s*'[^']*'(?:,'[^']*')*s*$/gm

假设您的输入中没有单引号转义。

RegEx演示

RegEx详细信息

  • ^:启动
  • s*:匹配0个或多个空白
  • '[^']*':匹配单引号字符串
  • (?:,'[^']*')*:匹配逗号后面的单引号字符串。此组的数学0或更多
  • s*:匹配0个或多个空白
  • $:结束

如果转义的单引号,即'可以是输入的一部分,则可以使用:

/^s*'(?:[^'\]|\.)*'(?:,'(?:[^'\]|\.)*')*s*$/gm

最新更新