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

Regex中逗号分隔的值[重复]

高鸿振
2023-03-14
Pattern: A,A,A
Where A contains only digits or digits separated by "|" 
e.g. A = 111 or A = 111|222
111,222|333,444
or
111|222,333,444
^[[,]?[[\d]*|[\d]*\|[\d]*]]*$
111,222|333,
111,222,333|
,111,222,333|444
|111,222|333,444

我如何修改我的regex来为那些以“”或“,”开头,以“”或“,”结尾的字符串返回false

共有1个答案

毋宸
2023-03-14

您可以使用带有可选组的重复模式来匹配和1个或多个数字:

^(?:\d+(?:\|\d+)?,)+\d+(?:\|\d+)?$

会匹配的

  • ^字符串开始
  • (?:非捕获组
    • \d+匹配1+个数字
    • (?:\\d+)?,可选地匹配和1+个数字,后跟
     ^(?:\d+(?:\|\d+)*,)+\d+(?:\|\d+)*$
    

 类似资料:
  • 我试图验证数字1-8的逗号分隔列表。

  • 我试图验证一个逗号分隔的数字列表1-31唯一(不重复)。 20、15、3 我尝试但是它接受重复的数字

  • 作为前言,我意识到还有其他关于逗号分隔数字的正则表达式的主题,但当我试图使用这些解决方案时,它们都不起作用。

  • 问题内容: 我的数据库中有列,其中的值如下所示: 在虚拟列中没有任何编号。逗号分隔的值可以出现。我尝试了以下查询,但它正在创建重复的结果。 我不明白这个问题。谁能帮忙? 问题答案: 非常适合我- 还有许多其他方法可以实现它。阅读将单个逗号分隔的字符串拆分成行。 *关于使用列而不是单个字符串值时的重复项的 *更新 。只见PRIOR子句中使用DBMS_RANDOM的摆脱循环回路的在这里 尝试以下方法

  • 我们正在对CITY、ST、ZIP形式的邮政编码进行丢失验证。这些可以跨越国家,因此以下所有内容都是有效的: > 宾夕法尼亚州匹兹堡,15020 安大略省汉密尔顿市L8E 4B3 我想验证的是,我们有三个逗号分隔的单词(空格可以)。所有这些都是有效的: foo、bar、baz 然而,这些将是无效的,因为它们没有两个逗号和三个单词: foo, bar 嘘,酒吧,巴兹,砰 foo,酒吧, foo, ba

  • 我有几个表我需要加入,我不能改变数据库,因为它正在多个不同的应用程序中使用。 第一个表如下所示