如何编写正则匹配仅含一个点的.txt与.cs文件名?
正则表达式解决方案:匹配不含额外句点的.txt/.cs文件名
你之前写的正则问题出在多了一段\.[^.]*,这会强制要求文件名里必须包含两个英文句点,自然匹配不了像sometext.txt这种只有一个句点的合法文件名。
正确的正则表达式
- 匹配所有不含其他句点的.txt文件:
^[^.]+\.txt$ - 匹配所有不含其他句点的.cs文件:
^[^.]+\.cs$
规则说明
^:锁定字符串的起始位置[^.]+:匹配1个及以上非句点的字符,确保文件名主体部分没有额外的英文句点\.txt/\.cs:精确匹配结尾的文件后缀(这里对句点加转义符\,因为正则中.是匹配任意字符的通配符)$:锁定字符串的结束位置
匹配验证
- 符合要求的匹配项:
sometext.txt、somefile.cs - 会被排除的项:
some.text.txt(包含两个句点)、some.file.txt(后缀不符且有额外句点)
内容的提问来源于stack exchange,提问作者RandomNumberFun
相关产品推荐
相关产品推荐

