Regex 正则表达式匹配不带逗号、尾行和空格的文本

Regex 正则表达式匹配不带逗号、尾行和空格的文本,regex,Regex,我需要匹配以下文本。在正文的开头和结尾,在逗号前后(在正文的中间),不能有结尾行字符、空格字符()。 我试过使用(^\S+(\S+,?\S+?\S+$),但不使用逗号 这里有一个链接 //不应该匹配 true, false true,false true,false true ,false true , false true , false Document My Document my Document my $$ MMM yyyy - HH:mm

我需要匹配以下文本。在正文的开头和结尾,在逗号前后(在正文的中间),不能有结尾行字符、空格字符(

)。 我试过使用
(^\S+(\S+,?\S+?\S+$)
,但不使用逗号

这里有一个链接

//不应该匹配


true, false  
true,false  
true,false 
 true ,false 
true , false 
  true , false 

Document My 
  Document my  
 Document my 
 $$ MMM yyyy - HH:mm
//应该匹配

$$ MMM yyyy - HH:mm
Document my
Drag and Drop
FIRST,SECOND,THIRD true true,false hello,txt,yyy hello,txt 01/Jan/1990
试一试

^
试试看

^
您可以使用
[^\s,]
匹配除空格字符或逗号以外的任何字符。此部分可以位于图案的开头和结尾,因此不能以空格或逗号开头或结尾

在重复部分中,可以在匹配之前使用逗号或空格

^[^\s,]+(?:,+[^,\s]+)*(?: [^\s,]+(?:,+[^,\s]+)*)*$
图案会匹配的

  • ^
    字符串的开头
  • [^\s,]+
    匹配除逗号或空格字符以外的任何字符的1+倍
  • (?:,+[^,\s]+)*
    对逗号重复0多次,对除逗号或空格字符以外的任何字符重复1多次
  • (?:
    非捕获组
    • [^\s,]+
      匹配一个空格和除逗号或空格字符外的任何字符的1+倍
    • (?:,+[^,\s]+)*
      重复前面的句子,前面加逗号
  • )*
    关闭分组并重复0多次
  • $
    字符串结尾

您可以使用
[^\s,]
匹配除空格字符或逗号之外的任何字符。此部分可以位于图案的开头和结尾,因此不能以空格或逗号开头或结尾

在重复部分中,可以在匹配之前使用逗号或空格

^[^\s,]+(?:,+[^,\s]+)*(?: [^\s,]+(?:,+[^,\s]+)*)*$
图案会匹配的

  • ^
    字符串的开头
  • [^\s,]+
    匹配除逗号或空格字符以外的任何字符的1+倍
  • (?:,+[^,\s]+)*
    对逗号重复0多次,对除逗号或空格字符以外的任何字符重复1多次
  • (?:
    非捕获组
    • [^\s,]+
      匹配一个空格和除逗号或空格字符外的任何字符的1+倍
    • (?:,+[^,\s]+)*
      重复前面的句子,前面加逗号
  • )*
    关闭分组并重复0多次
  • $
    字符串结尾

你是说像这样吗
^\S+(?:\S+)*$
如果可以有多个逗号的话,逗号之间就不能有空格了。你是说这样吗
^\S+(?:\S+*$)
如果可以有多个逗号的话,逗号之间就不能有空格。我不能在逗号前后都有空格,我不能在逗号前后都有空格
^[^\s,]+(?:,+[^,\s]+)*(?: [^\s,]+(?:,+[^,\s]+)*)*$