Regexp - 在逗号分隔的字符串中查找特定字符串

时间:2018-05-07 13:17:15

标签: regex

要查找的字符串

b

经过测试的字符串

  1. b,ffb,x
  2. b
  3. <empty-string>
  4. x,b
  5. df,b,x
  6. 尝试不佳

    [\s|,|^]+(b)[\s|,|$]+

    1. [\s|,|^]+ - 查找空格,逗号或字符串开头
    2. (b) - 找到所需的字符串
    3. [\s|,|$]+ - 找到空格,逗号或字符串结尾
    4. 注释

      如果b定义了两次我也想要匹配

1 个答案:

答案 0 :(得分:1)

字符类中的管道并不表示交替,而是一个文字管道字符。关于插入符^和任何其他特殊字符(除少数情况除外)都是如此。他们将在角色类中失去意义。

您需要(^|[\s,])b([\s,]|$)或仅\bb\b

  

如果b定义了两次我也想要匹配...

我假设您正在讨论此类案例b,b,b,x,那么您必须将第二个捕获组更改为积极前瞻。如果你的味道支持它(Python的话),这将有效:

(^|[\s,])b(?=[\s,]|$)