我的正则表达式:
/^[\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
假设您的输入中没有转义单引号。
正则表达式详细信息;
^
:开始\s*
:匹配0个或多个空格'[^']*'
:匹配单个带引号的字符串(?:,'[^']*')*
:匹配逗号,后跟一个单引号字符串。该组数学0个或更多\s*
:匹配0个或多个空格$
: 结束如果转义的单引号即\'
可以作为输入的一部分,则可以使用:
/^\s*'(?:[^'\\]|\\.)*'(?:,'(?:[^'\\]|\\.)*')*\s*$/gm
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句