python怎么样使用正则表达式匹配用户输入的为文件路径?? 就譬如像: E:index.ph

python怎么样使用正则表达式匹配用户输入的为文件路径?? 就譬如像: E:index.ph,第1张

你好:

正则表达式语法:

## 总结

## ^ 匹配字符串的开始。

## $ 匹配字符串的结尾。

## \b 匹配一个单词的边界。

## \d 匹配任意数字。

## \D 匹配任意非数字字符。

## x? 匹配一个可选的 x 字符 (换言之,它匹配 1 次或者 0 次 x 字符)。

## x* 匹配0次或者多次 x 字符。

## x+ 匹配1次或者多次 x 字符。

## x{n,m} 匹配 x 字符,至少 n 次,至多 m 次。

## (a|b|c) 要么匹配 a,要么匹配 b,要么匹配 c。

## (x) 一般情况下表示一个记忆组 (remembered group)。你可以利用 re.search 函数返回对

## 象的 groups() 函数获取它的值。

##正则表达式中的点号通常意味着 “匹配任意单字符”

/**

* @author eatonfang

* @version 1.0

*

*/

public class Test {

/**

* @param args

*/

public static void main(String[] args) {

// System.out.println()

String str1 = "D:/PjlWorkspace/monitor/ts/app-shangdu.xml"

String str2 = "app-shangdu.xml"

String regex = "[^(/|\\|\\\\|//)]+\\.[^(/|\\|\\\\|//)]+"

System.out.println(str2.matches(regex))

System.out.println(str1.replaceAll(regex, "name"))

}

}

运行结果:

true

D:/PjlWorkspace/monitor/ts/name

如果路径分隔符只有/一种可能的话,就可以这样写: [^/]+\\.[^/]+

我是考虑到路径分隔符还可以写成\, \\, //, 这几种可能,所以才写成那样子的

按照你的要求写的正则表达式见图

我给你一个php语言的例子,你看看吧

<?php

$s='aaa-bbb-ccc/ddd-eee/abc'

$regex='/^(([A-Za-z]+\-)*[A-Za-z]+\/)*([A-Za-z]+\-)*[A-Za-z]+$/'

if(preg_match($regex,$s)){

echo "文件路径格式正确!"

}else{

echo "文件路径格式错误!"

}

?>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11836030.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存