当前位置: 首页 > 知识库问答 >
问题:

Regex:允许逗号分隔的字符串,包括字符和非字符

胡国兴
2023-03-14

因此,这将匹配以下逗号分隔的字符串:

import re
pattern = re.compile(r"^(\w+)(,\s*\w+)*$")
valid_string = "foo, bar, hey,friend, 56, 7, elephant"
pattern.match(valid_string)

然后,我可以使用^(\w+)(,\s*\w+)*$对非字符执行相同的操作,它将匹配:

import re
pattern = re.compile(r"^(\W+)(,\s*\W+)*$")
valid_string = "%, $, *, $$"
pattern.match(valid_string)

我想创建一个regex来匹配包含特殊字符、连字符和下划线的字符串,例如。

invalid1 = "aa, b, c d e"

下面是另一个例子:

invalid2 = "a, ,b, c, d"

这是无效的,因为有两个逗号;必须只有一个。

共有1个答案

郭元明
2023-03-14

您可以使用

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

参见regex演示

详细信息

    null
 类似资料:
  • 问题内容: 我想以逗号分隔Python多行字符串,除非逗号在方括号内。例如,字符串 应该分成 这涉及到括号匹配,因此正则表达式可能在这里没有帮助。PyParsing有这 几乎 做什么我需要的,只是 引用 ()环境得到保护,而不是-delimited的。 有什么提示吗? 问题答案: 编写自己的自定义拆分功能:

  • 当我使用之类的东西时,它仍然会触发,就像连字符无效一样。我尝试了和

  • 问题内容: 我有一个像 我想把它分成那些字符串 如果我简单地打电话给我,那么在修剪之后我会得到不同的结果,因为在某些字符串中,例如,仍然有一个逗号。但我不想放在方括号中。有解决这个问题的优雅方法吗? 问题答案: 假设和没有嵌套和未转义。您可以使用以下方式进行拆分: 正则演示 如果逗号后面没有非圆括号和,则将匹配逗号,从而忽略和中的逗号。

  • 问题内容: 我有从.net应用程序A,B,C,D,E,F获取的字符串, 我想写一个SQL选择语句像 这在t-SQL中将不起作用,因为它使用不将值分开的一个字符串。有什么办法可以做到这一点? 问题答案: 它认为最简单的方法是动态SQL生成:

  • 我试图验证数字1-8的逗号分隔列表。

  • 问题内容: 我需要在数据库中填充纬度和经度列,但是原始信息存储为单个字符串 例如。 我猜想TRIM命令在这里很有用,但是我不知道如何告诉它每半个部分都精确地停在逗号上。 我希望能够提出一个简单的UPDATE查询,如下所示: 但是显然在LTRIM和RTRIM部分中需要做一些额外的工作,因此我只选择数据,但不包括UDFChar1中的逗号。 关于如何实现这一目标的任何想法? 问题答案: 请试试: 和 样