使用Python的正则表达式提取文本中的文件名

2024-10-02 12:25:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图提取保存在python字符串变量中的源代码文件名。但是,变量包含html类型标记和许多其他内容,如下所示:

<p> Result = FAILURE<br/ hshreedharan : <a href="http://git-wip-
<ul>
<li>flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/HDFSEventSink.java</li>     
<li>flume-ng-sinks/flume-hdfs-sink/src/test/java/org/apache/flume/sink/hdfs/TestBucketWriter.java</li>
<li>flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/BucketWriter.java</li>
<li>sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/BucketWriter.java</li>
<li>sink.src.main.java.org.apache.flume.sink.hdfs.BucketWriter.java</li>          
</ul>

但是,我正在寻找合适的正则表达式,使用“re”python库来忽略所有其他文本、html标记,并且只提取变量中包含的源代码文件的输出。在

^{pr2}$

目前,我正在使用以下代码:

^{3}$

帮助正确的正则表达式或函数修改,例如,re.sub公司应尽量提取相关源代码。在


Tags: 标记orgsrc源代码mainapachehtmlhdfs
1条回答
网友
1楼 · 发布于 2024-10-02 12:25:09

检查这个:([a-zA-Z-.\/]+.java)

import re

a="""<p> Result = FAILURE<br/ hshreedharan : <a href="http://git-wip-
<ul>
<li>flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/HDFSEventSink.java</li>     
<li>flume-ng-sinks/flume-hdfs-sink/src/test/java/org/apache/flume/sink/hdfs/TestBucketWriter.java</li>
<li>flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/BucketWriter.java</li>
</ul>
channel/src/main/java/org/apache/flume/channel/file/protoProtosFactory.java.
sink.src.main.java.apache.flume.sink.java
"""

pat = "([a-zA-Z-.\/]+.java)"
c =  re.findall(pat,a)
print c

输出:

^{pr2}$

Regex101上的演示:https://regex101.com/r/zzFpKJ/3

相关问题 更多 >

    热门问题