正则表达式匹配一部分或全部字符串

大卫·加德(David Gard)

我根据变量的结果动态创建一个正则表达式。我已经成功测试了大部分表情,但是我在长度可能会有所变化的部分中苦苦挣扎。

如何修改正则表达式,(a_)?c(davison)\.nsf?以便将以下任何字符串归类为匹配项?

  • a_cdavis.nsf
  • cdavison.nsf
  • cdaviso.nsf
  • cdavis.nsf

本质上,要被视为匹配项,字符串必须满足以下条件-

  1. “(一种_)?” -可以以“ a_”开头,但不必
  2. “ c” -必须包含小写字母“ c”
  3. “(davison)” -我不能做的事情-必须从开始就包含“ davison”的部分或全部(因此“ dav”是可以接受的,但“ son”是不可接受的)
  4. “ .nsf” -必须以“ .nsf”结尾
  5. 长度-长度不得超过12个字符,包括在字符串开头的可选“ _a”和在字符串结尾的必需的“ .nsf”。

任何提示和技巧将不胜感激。

威克多·斯特里比尤(WiktorStribiżew)

要使每个部分都是davison可选的,请使用嵌套的可选组(?:...)?),并设置长度限制,如果发现了13个字符,(?!.{13})则可以在开始时使用锚定的负前行使匹配失败(因此,允许12个或更少的字符串)字符大小):

^(?!.{13})(a_)?c(d(?:a(?:v(?:i(?:s(?:on?)?)?)?)?)?)\.nsf$

正则表达式演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式匹配字符串的最后一部分

来自分类Dev

正则表达式不匹配字符串的一部分

来自分类Dev

正则表达式匹配,其中字符串的一部分不包含字符

来自分类Dev

Javascript正则表达式将字符串的一部分与列表中的项目匹配

来自分类Dev

Perl字符串替换:匹配但不替换正则表达式的一部分

来自分类Dev

跳过字符串的一部分,并用正则表达式替换匹配项

来自分类Dev

如何在bash中将字符串的一部分与正则表达式匹配?

来自分类Dev

匹配字符串的一部分并检索不接近的数字正则表达式

来自分类Dev

Perl字符串替换:匹配但不替换正则表达式的一部分

来自分类Dev

如何使用正则表达式仅提取匹配字符串的一部分?

来自分类Dev

正则表达式仅返回字符串的一部分

来自分类Dev

使用正则表达式排除字符串的一部分

来自分类Dev

删除字符串的一部分-正则表达式

来自分类Dev

正则表达式替换字符串逗号的一部分

来自分类Dev

PHP正则表达式多行字符串的一部分

来自分类Dev

正则表达式保留字符串的一部分

来自分类Dev

使用正则表达式屏蔽字符串的一部分

来自分类Dev

正则表达式匹配字符串的一部分,但不匹配整个字符串

来自分类Dev

正则表达式匹配字符串,除非特定字符串的一部分

来自分类Dev

正则表达式包括字符串的一部分,但不包括strig的另一部分

来自分类Dev

正则表达式删除字符串的一部分,然后替换另一部分

来自分类Dev

正则表达式在一个单词后得到字符串的一部分

来自分类Dev

为什么我的正则表达式捕获组在匹配多个部分时仅捕获字符串的最后一部分?

来自分类Dev

如何匹配字符,除非它是正则表达式中特定字符串的一部分

来自分类Dev

字符串第一部分的正则表达式,以匹配重复的(连续或非连续)字符

来自分类Dev

Scala:使用正则表达式提取一部分字符串

来自分类常见问题

Java正则表达式仅替换字符串(url)的一部分

来自分类Dev

使用R中的正则表达式捕获字符串的一部分

来自分类Dev

Sed正则表达式,在Mac终端中提取字符串的一部分

Related 相关文章

  1. 1

    正则表达式匹配字符串的最后一部分

  2. 2

    正则表达式不匹配字符串的一部分

  3. 3

    正则表达式匹配,其中字符串的一部分不包含字符

  4. 4

    Javascript正则表达式将字符串的一部分与列表中的项目匹配

  5. 5

    Perl字符串替换:匹配但不替换正则表达式的一部分

  6. 6

    跳过字符串的一部分,并用正则表达式替换匹配项

  7. 7

    如何在bash中将字符串的一部分与正则表达式匹配?

  8. 8

    匹配字符串的一部分并检索不接近的数字正则表达式

  9. 9

    Perl字符串替换:匹配但不替换正则表达式的一部分

  10. 10

    如何使用正则表达式仅提取匹配字符串的一部分?

  11. 11

    正则表达式仅返回字符串的一部分

  12. 12

    使用正则表达式排除字符串的一部分

  13. 13

    删除字符串的一部分-正则表达式

  14. 14

    正则表达式替换字符串逗号的一部分

  15. 15

    PHP正则表达式多行字符串的一部分

  16. 16

    正则表达式保留字符串的一部分

  17. 17

    使用正则表达式屏蔽字符串的一部分

  18. 18

    正则表达式匹配字符串的一部分,但不匹配整个字符串

  19. 19

    正则表达式匹配字符串,除非特定字符串的一部分

  20. 20

    正则表达式包括字符串的一部分,但不包括strig的另一部分

  21. 21

    正则表达式删除字符串的一部分,然后替换另一部分

  22. 22

    正则表达式在一个单词后得到字符串的一部分

  23. 23

    为什么我的正则表达式捕获组在匹配多个部分时仅捕获字符串的最后一部分?

  24. 24

    如何匹配字符,除非它是正则表达式中特定字符串的一部分

  25. 25

    字符串第一部分的正则表达式,以匹配重复的(连续或非连续)字符

  26. 26

    Scala:使用正则表达式提取一部分字符串

  27. 27

    Java正则表达式仅替换字符串(url)的一部分

  28. 28

    使用R中的正则表达式捕获字符串的一部分

  29. 29

    Sed正则表达式,在Mac终端中提取字符串的一部分

热门标签

归档