正则表达式匹配点,但不匹配末尾

莫妮卡

我应该为文件名写一个正则表达式,它允许使用chars

^[a-zA-Z0-9 ()+,._&-]+$

但它不能以点结尾。

我可以把两者放在一起吗?

威克多·斯特里比尤

您可以在开始时使用否定的前瞻:

^(?!.*\.$)[a-zA-Z0-9 ()+,._&-]+$
  ^^^^^^^

(?!.*\.$)输入的开始先行将“触发”,而一旦字面点在字符串的结尾处找到失败的比赛。

正则表达式演示

另外,您可以使用后面带有负号的其他版本(如果正则表达式引擎支持)。这是一个基于后向解决方案的不良示例,因为它将执行许多不必要的回溯:

^[a-zA-Z0-9 ()+,._&-]+(?<!\.)$

这是一个更好的选择,因为它拥有所有格量词,可以消除不必要的回溯,并且仅在字符串末尾检查句点:

^[a-zA-Z0-9 ()+,._&-]++(?<!\.)$
                     ^^

所有格量词的另一种选择是原子组:

^(?>[a-zA-Z0-9 ()+,._&-]+)(?<!\.)$
 ^^^                     ^

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式匹配大于长度的字符串,但不包括末尾的匹配

来自分类Dev

从匹配条件的末尾开始匹配的正则表达式

来自分类Dev

从匹配条件的末尾开始匹配的正则表达式

来自分类Dev

正则表达式匹配单个点,但不匹配数字或后缀

来自分类Dev

Perl正则表达式:与此匹配,但不匹配

来自分类Dev

JS正则表达式匹配“但不匹配”

来自分类Dev

正则表达式匹配,但不匹配

来自分类Dev

正则表达式以匹配url但不匹配urlMvc

来自分类Dev

Javascript正则表达式匹配用空格分隔但不包含点的字符串

来自分类Dev

hasNext()的Java正则表达式与next的末尾匹配

来自分类Dev

在正则表达式中将单词与句点末尾匹配

来自分类Dev

hasNext()的Java正则表达式与next的末尾匹配

来自分类Dev

正则表达式匹配到标准模式的末尾

来自分类Dev

Python正则表达式匹配整数但不浮动

来自分类Dev

Python正则表达式,两个单词之间的单词正确匹配,但不匹配点

来自分类Dev

JavaScript正则表达式匹配忽略文字点

来自分类Dev

bash正则表达式点“。” 字符不匹配

来自分类Dev

正则表达式包含点的匹配词

来自分类Dev

正则表达式仅匹配它及其匹配项,但不匹配

来自分类Dev

正则表达式仅匹配它及其匹配项,但不匹配

来自分类Dev

包含单词但不包含句点的表达式匹配的正则表达式

来自分类Dev

合并两个正则表达式并匹配字符串,但不带句点(或点或句号)

来自分类Dev

匹配#tags但不匹配十六进制代码的正则表达式

来自分类Dev

正则表达式:匹配所有特殊字符,但不匹配*

来自分类Dev

正则表达式获取匹配但不包含匹配开始字符

来自分类Dev

正则表达式将匹配PHP变量,但不匹配对象和函数调用

来自分类Dev

JavaScript正则表达式匹配电话号码,但不匹配HTML属性

来自分类Dev

正则表达式匹配特定单词,但不匹配特定组合

来自分类Dev

C#正则表达式匹配但不匹配Regexr.com

Related 相关文章

  1. 1

    正则表达式匹配大于长度的字符串,但不包括末尾的匹配

  2. 2

    从匹配条件的末尾开始匹配的正则表达式

  3. 3

    从匹配条件的末尾开始匹配的正则表达式

  4. 4

    正则表达式匹配单个点,但不匹配数字或后缀

  5. 5

    Perl正则表达式:与此匹配,但不匹配

  6. 6

    JS正则表达式匹配“但不匹配”

  7. 7

    正则表达式匹配,但不匹配

  8. 8

    正则表达式以匹配url但不匹配urlMvc

  9. 9

    Javascript正则表达式匹配用空格分隔但不包含点的字符串

  10. 10

    hasNext()的Java正则表达式与next的末尾匹配

  11. 11

    在正则表达式中将单词与句点末尾匹配

  12. 12

    hasNext()的Java正则表达式与next的末尾匹配

  13. 13

    正则表达式匹配到标准模式的末尾

  14. 14

    Python正则表达式匹配整数但不浮动

  15. 15

    Python正则表达式,两个单词之间的单词正确匹配,但不匹配点

  16. 16

    JavaScript正则表达式匹配忽略文字点

  17. 17

    bash正则表达式点“。” 字符不匹配

  18. 18

    正则表达式包含点的匹配词

  19. 19

    正则表达式仅匹配它及其匹配项,但不匹配

  20. 20

    正则表达式仅匹配它及其匹配项,但不匹配

  21. 21

    包含单词但不包含句点的表达式匹配的正则表达式

  22. 22

    合并两个正则表达式并匹配字符串,但不带句点(或点或句号)

  23. 23

    匹配#tags但不匹配十六进制代码的正则表达式

  24. 24

    正则表达式:匹配所有特殊字符,但不匹配*

  25. 25

    正则表达式获取匹配但不包含匹配开始字符

  26. 26

    正则表达式将匹配PHP变量,但不匹配对象和函数调用

  27. 27

    JavaScript正则表达式匹配电话号码,但不匹配HTML属性

  28. 28

    正则表达式匹配特定单词,但不匹配特定组合

  29. 29

    C#正则表达式匹配但不匹配Regexr.com

热门标签

归档