正则表达式与一个逗号分隔字符串完全匹配

2024-09-28 22:23:48 发布

您现在位置:Python中文网/ 问答频道 /正文

例如:

src: anyword, anyword, anyword

我想检查src是否只包含one comma分隔的字符串,如示例中所示

我写了(.[^\s*]+,.*[^,\s*]+$)这篇文章,但在某些场景中失败了

对我来说,以下场景是无效的

src: abc, ,1232
src: ,abc, dasf

演示:https://regex101.com/r/UyQ5KX/1


Tags: 字符串httpssrccom示例场景oneabc
1条回答
网友
1楼 · 发布于 2024-09-28 22:23:48

你可以用

: *[^\s,]+(?:, *[^,\s]+)*$

或者,要允许更多的空格,而不仅仅是单词之间的空格:

:[^\S\n\v\f\r\u2028\u2029]*[^\s,]+(?:,[^\S\n\v\f\r\u2028\u2029]*[^,\s]+)*$

regex demo

如果从字符串开始到冒号必须有1+个非冒号字符,则可以在上述模式之前添加^[^:]+

详细信息

  • ^-字符串的开头
  • [^:]+-1+字符,而不是:
  • :-结肠
  • [^\S\n\v\f\r\u2028\u2029]*-0或更多只出现水平空白
  • [^\s,]+-出现除空格和逗号以外的一个或多个字符
  • (?:,[^\S\n\v\f\r\u2028\u2029]*[^,\s]+)*-0次或多次出现
    • ,-逗号
    • [^\S\n\v\f\r\u2028\u2029]*-0次或多次仅出现水平 空白
    • [^\s,]+-出现除空格和逗号以外的一个或多个字符
  • $-字符串的结尾

相关问题 更多 >